Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
和uva10815感觉差不多,只是需要对每一行进行一次判断,因为cin不能读取换行所以就用gets了,好像用别的更好但是懒得换了就这样吧
#include <cstdio>
#include <iostream>
#include <string>
#include <set>
#include <sstream>
using namespace std;
int main()
{
string b;
char s[10000];
while(gets(s)!=NULL)
{
set<string> dict;
if(s[0]=='#')break;
stringstream ss(s);
while(ss>>b)
{
dict.insert(b);
}
int i=0;
for(set<string>::iterator it=dict.begin();it!=dict.end();++it)
{
i++;
}
printf("%d\n",i);
}
return 0;
}