hdu2072 单词数 / QUTOJ 1090: 单词个数统计

来源:互联网 发布:下手机电视直播软件 编辑:程序博客网 时间:2024/06/02 18:25

hdu链接:点击打开链接

QUTOJ链接:点击打开链接

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

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

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

Sample Input
you are my friend#
 

Sample Output
4

思路:周赛做的,本来以为很简单,但是有坑,已经计算过的单词在以后的计算中就不算了,这就就有难度了

看了孙启龙的代码,用的set,不怎么懂set,找了个博客

代码:点击打开链接

代码:

#include<iostream>#include<set>#include<string>using namespace std;int main(){set<string> st;string s;char c;s.clear();while ((c = cin.get()) != '#'){while (c != ' '&&c != '\n'){s += c;c = cin.get();}if (s.length()){st.insert(s);s.clear();}if (c == '\n'){cout << st.size() << endl;st.clear();s.clear();}}return 0;}

QUTOJ上的题目大意是一样的,程序结束条件不太一样

#include<iostream>#include<set>#include<string>#include<sstream>using namespace std;int main(){string s;set<string>st;while (getline(cin, s)) {st.clear();stringstream ss;ss << s;string tmp;while (ss >> tmp) {st.insert(tmp);}cout << st.size() << endl;}return 0;}


0 0
原创粉丝点击