lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample
Inputcopy | Outputcopy |
---|---|
you are my friend # | 4 |
本题有一些小坑,就是可能一行中的一个单词后可能存在多个空格,或者最末尾的时候存在多个空格。比如you are i miss miss i read 中第二个i后面有两个空格,read后面有三个空格。并且考虑到我初始化字符串数组时是将他们初始化为""的,也就是说当它为空格是我的ss[i]是为""的。所以我们就直接在遍历ss数组时判断就可以解决。
#include<iostream>
#include<string>
#include<string.h>
#include<list>
#include<set>
#include<algorithm>
#include<math.h>
using namespace std;
typedef long long ll;
double a[100];
int main(){
string str,ss[1005];
set<string>se;
while(getline(cin,str)&&str!="#"){
int cnt=0;
se.clear();
fill(ss,ss+1005,"");
for(int i=0;i<str.size();i++){
if(str[i]==' '){
cnt++;
continue;
}
ss[cnt]+=str[i];
}
// for(int i=0;i<=cnt;i++){
// cout<<i<<":";
// cout<<ss[i]<<" ";
// }
for(int i=0;i<=cnt;i++){
if(ss[i]=="")continue;
se.insert(ss[i]);
}
cout<<se.size()<<endl;
}
return 0;
}
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample
Inputcopy | Outputcopy |
---|---|
you are my friend # | 4 |
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample
Inputcopy | Outputcopy |
---|---|
you are my friend # | 4 |