单词数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 61852 Accepted Submission(s): 15345
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend #
Sample Output
4
简单的map容器使用,对于读入的字符串的处理,使用字符串数据流ss,可以自动去空格。
#include<iostream>
#include<map>
#include<string>
#include<sstream>
using namespace std;
int main()
{
map<string, int> m;
string line;
string x;
while (getline(cin, line))
{
m.clear();
if (line == "#")
break;
stringstream ss(line);
while (ss >> x)
{
m.insert(map<string, int>::value_type(x, 1));
}
cout << m.size() << endl;
}
return 0;
}