hdoj2072 惭愧,做了好久。但依然是水题嗯。
//hdoj2072
#include<string>
#include<set>
#include<iostream>
#include <sstream> //getline
using namespace std;
int main()
{
string s,t;
set<string> cnt;
while(getline(cin,s),s!="#"){ //直接cin不读空格 回车 tab, getline遇回车(换行符)结束
cnt.clear(); //每次处理一行的字符串
/*
int i=0; //下面的for可以换成这两行 循环的最后要记得++i > <
while(s[i]!='\0'){ //事实证明 两个s[i]!='\0'不能同时使用!!!!!why??
*/
for(int i=0;i<s.size();++i){
t.clear(); //t要存下一个单词
while(i<s.size()&&s[i]!=' '){ //或 while(s[i]>='a'&&s[i]<='z')
//或 while(s[i]!='\0'&&s[i]!=' ')
t+=s[i];++i;
}
if(!t.empty()) //t可能为空!!!
cnt.insert(t);
}
cout<<cnt.size()<<endl;
}
return 0;
}