首页 > 其他 > 详细

HDU2072 单词数

时间:2019-08-18 19:57:28      阅读:97      评论:0      收藏:0      [点我收藏+]
Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 79794    Accepted Submission(s): 20257

Problem Description

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

Input

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

Output

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

Sample Input

you are my friend #

Sample Output

4

 

代码如下:

解法一(AC):

#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <set>
using namespace std;
int main(){
    char chr[1024];
    char stop[]="#";
    char prim[]=" ";
    char *p;
    set<string> words;
    while(gets(chr)!=NULL){
        if(strcmp(chr,stop)==0) break;
        words.clear();
        p=strtok(chr,prim);
        while(p){
            words.insert(p);
            p=strtok(NULL,prim);
        }
        cout<<words.size()<<endl;
    }
    return 0;
}
解法二(AC):
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <sstream>
#include <set>
using namespace std;
int main(){
    string str;
    set<string> words;
    while(getline(cin,str)&&(str!="#")){
        words.clear();
       istringstream sin(str);
       string s;
       while(sin>>s)
             words.insert(s);
       cout<<words.size()<<endl; 
    }
    return 0;
}
 

HDU2072 单词数

原文:https://www.cnblogs.com/jianqiao123/p/11373588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!