hdoj2072 单词数 (set 和 map 两种做法)
2013-10-29 18:44
316 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2072
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
Sample Output
用set去重,注意字符串最后可能是空格,全串也可能只含空格。
用map直接映射求大小即可;
单词数
Problem Descriptionlily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
用set去重,注意字符串最后可能是空格,全串也可能只含空格。
#include<map> #include<set> #include<cstdio> #include<cstring> #include <iostream> using namespace std; char s[1000009],ss[1000009]; int main() { int i,c,len; while(gets(s)&&s[0]!='#') { set<string > t; c=0; len=strlen(s); while(len&&s[len-1]==' ') len--; s[len]=0; if(len==0) { printf("0\n"); continue; } for(i=0;s[i];i++) if(s[i]!=' ')ss[c++]=s[i]; else if(c>0) { ss[c]=0; t.insert(ss); c=0; } set<string >::iterator te=t.begin(); if( c>0) { ss[c]=0; t.insert(ss); } cout<<t.size()<<endl; } return 0; }
用map直接映射求大小即可;
#include<map> #include<set> #include<cstdio> #include<cstring> #include <iostream> using namespace std; char s[1000009],ss[1000009]; int main() { int i,c,len; while(gets(s)&&s[0]!='#') { map<string,int > t; c=0; len=strlen(s); while(len&&s[len-1]==' ') len--; s[len]=0; if(len==0) { printf("0\n"); continue; } for(i=0;s[i];i++) if(s[i]!=' ')ss[c++]=s[i]; else if(c>0) { ss[c]=0; t[ss]=1; c=0; } if( c>0) { ss[c]=0; t[ss]=1; } cout<<t.size()<<endl; } return 0; }
相关文章推荐
- HDOJ 2072 单词数(map的简单题)
- hdoj 2072 单词数 (map)
- HDOJ 2072 单词数 (set)
- HDOJ 2072的五种做法 C strtok 字典树 map容器 set容器
- hdu 2072 找不同的单词数(map&set)
- HDOJ 2072 单词数(字符串,map)
- HDOJ-2072单词数(Trie树/MAP)
- HDOJ.2072 单词数(map)
- hdu 2072 单词数(set ,stringstream)
- hdoj 2072 单词数
- HDU 2072 单词数(set)
- HDU 2072 单词数 -- C++ string set 统计不同的单词数目
- hdoj 2072 单词数 【字符串处理】
- 1/20集训一 STL C. (set/map +string 找单词按字典序排列) Andy's First Dictionary
- HDOJ2072 单词数
- hdoj 2072 单词数
- HDU 2072 单词数(set)
- 【杭电oj】2072 - 单词数(STL - string & map)
- HDOJ_2072(单词数)
- Java集合类---遍历Map的两种方法(map.entrySet)