HACM 单词数(注意单词的输入与连续空格的出现)

来源:互联网 发布:数据透视图显示百分比 编辑:程序博客网 时间:2024/06/16 07:35
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
 

Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
 

Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
 

Sample Input
you are my friend#
 

Sample Output
4
 

#include <iostream>#include<string>#include<set>using namespace std;int main(){string s;set<string> se;int count;while (getline(cin,s)){if (s == "#")break;count = 0;se.clear();int a=0;for (int i = 0; i < s.size(); i++){if (s[i] != ' ')count++;else{if (count != 0){se.insert(s.substr(a, count));a = i + 1;count = 0;}else//连续空格 单词的起点应更新 a = i + 1;}}if (count!=0)//将最后一个非空字符插入se.insert(s.substr(a, count));cout << se.size()<< endl;}return 0;}

0 0