单词数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 39971 Accepted Submission(s): 9581
Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input 有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input you are my friend #
Sample Output 4
Author Lily
Source |
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <map> 5 #include <string> 6 using namespace std; 7 string s; 8 map<string,int> mp; 9 int main() 10 { 11 while(getline(cin,s)){ 12 if(s=="#") break; 13 long long l=s.length(),cnt=0; 14 mp.clear(); 15 for(long long i=0;i<l;i++){ 16 if(s[i]==' ') continue; 17 string t=""; 18 for(;i<l;i++){ 19 if(s[i]!=' ') t+=s[i]; 20 else break; 21 } 22 if(mp[t]==0){ 23 mp[t]=1; 24 cnt++; 25 } 26 } 27 cout<<cnt<<endl; 28 } 29 return 0; 30 }