单词数+map

来源:互联网 发布:linux apache 加载php 编辑:程序博客网 时间:2024/06/10 09:11

单词数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20493    Accepted Submission(s): 4961


Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
 

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

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

Sample Input
you are my friend#
 

Sample Output
4
 
/*思路:使用map;最后只要判断map里面元素的个数。*/#include<iostream>#include<string>#include<map>using namespace std;char a[10000002];int main(){while(gets(a)&&strcmp(a,"#")){map<string,string>m;int i=0,len=strlen(a);char *p=a,b[100];int sum=0;int k=0;while(i<len){k=0;while(*p!=' '&&*p!='\0'){b[k++]=*p;p=p+1;i++;}if(*p!='\0'){i++;p=p+1;}b[k]='\0';if(strcmp(b,""))m[b]=b;}for(map<string,string>::iterator it=m.begin();it!=m.end();it++)sum++;cout<<sum<<endl;}return 0;}


原创粉丝点击