杭电-2072

来源:互联网 发布:sql server 2000 mac 编辑:程序博客网 时间:2024/06/06 18:07

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072

要计算不同的单词数,就需要比较,可以用set容器,因为在set中,重复元素不会插入,这样容器的长度就是不同的单词数

#include <iostream>#include<set>#include<string>using namespace std;int main(){string str,str1;set<string> se;int i;bool flag;while(getline(cin,str)&&str[0]!='#'){flag=false;se.clear();for(i=0;i<str.size();i++){if(str[i]==' '&&flag)//如果输入的是空格,则不会保存到容器中{flag=false;if(str1!="")se.insert(str1);str1="";   //清除str1,为下次存储单词做准备}else{flag=true;if(str[i]!=' ')str1+=str[i];}}if(str1!="")  //将最后一个单词存入容器中{se.insert (str1);str1="";}cout<<se.size()<<endl;}return 0;}

0 0
原创粉丝点击