HDU 2072(单词数)题解

以防万一,题目原文和链接均附在文末。那么先是题目分析:

【一句话题意】

“就是统计一篇文章里不同单词的总数”(已经是一句话了。。)

【题目分析】

明显需要去重,上set,因为按行分析,又没有EOLN用,于是上istringstream。

【算法流程】

读一行塞一行干一行爱一行。。。。。
发这篇的目的其实是备忘istringstream的用法的。这道题没难点。

 1 #include <iostream>
 2 #include <sstream>
 3 #include <string>
 4 #include <algorithm>
 5 #include <set>
 6 #include <stdio.h>
 7 #include <stdlib.h>
 8 #include <string.h>
 9 #include <math.h>
10
11 #define each(i,n) (int i=1;i<=(n);++i)
12
13 using namespace std;
14
15 int main() {
16
17     set<string> wordList;
18     string word, line;
19
20     while(getline(cin, line)) {
21         if (line == "#") break;
22         istringstream stream(line);
23         wordList.clear();
24         while(stream>>word) {
25             wordList.insert(word);
26         }
27         cout<<wordList.size()<<endl;
28     }
29     return 0;
30
31 }
32 /*
33 TestData(IN)
34 you are my friend
35 #
36 TestData(OUT)
37 4
38 */


题目链接:单词数(HDU 2072)

题目属性:语言练习题

相关题目:2095(随便找了一个写这里了= =)

题目原文:
【Desc】lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
【In】有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
【Out】每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
【SampIn/Out】参见代码下方的注释。

时间: 2024-09-28 14:46:16

HDU 2072(单词数)题解的相关文章

HDU 2072 单词数 --- stringstream+STL

/* HDU 2072 单词数 --- stringstream+STL */ #include <cstdio> #include <iostream> #include <sstream> #include <string> #include <set> using namespace std; set<string> k; int main() { string s; while (getline(cin, s) &&a

HDU 2072 单词数 --- 字符串处理

/* HDU 2072 单词数 --- 字符串处理 */ #include <cstdio> //C语言改成stdio.h即可 #include <cstring> //C语言改成string.h即可 const int maxn = 85; int main() { char *head1, *head2; char a[maxn]; char b[maxn][maxn]; int i, k, len, cnt1, cnt2; while (gets(a)){ //遇到字符串&q

HDU 2072 单词数 (STL map)

单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 34960    Accepted Submission(s): 8380 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Inp

hdoj 2072 单词数 【字符串处理】

题目大意: 输入一组字符串,只由小写字母和空格组成,让你统计不同单词的个数,注意是不同的个数 . 特殊数据 1,直接输入一个换行,应该输出0 2,连续输出多个空格 在加上一个换行 应该输出0 3,输入 "ni shi wo wo de de de de hao     hao "应该输出5 6, 输入" 空格空格ni空格空格shi     " 应该输出2 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2072 #in

【基础练习】【字符串处理】noip2011普及组第2题 统计单词数题解

这又是一道成功加入"容易吗"系列的基础题= =原本很简单,可是我一开始太大意看错了题,以为是让输出该单词是第几个单词,实际上应该输出该单词的首字母在第几个位置:改过后只得了二十分,看了一组数据,原来第一个单词前面可以有前导空格--幸亏其他单词前没有,否则还真不知道怎么办:实现的时候又出了各种问题.于是我决定总结一下. 题目: 给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大

hdu 2072 单词数

http://acm.hdu.edu.cn/showproblem.php?pid=2072 单词数这道题感觉用c写很麻烦,用c++写就比较简单了.不多说,直接贴代码. #include<iostream> #include<string> #include<vector> #include<sstream> using namespace std; int main() { vector<string> s; string s0,s1; int

hdu 2072单词数

单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28671    Accepted Submission(s): 6877 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Inp

2014年百度之星程序设计大赛 - 初赛(第一轮) hdu Grids (卡特兰数 大数除法取余 扩展gcd)

题目链接 分析:打表以后就能发现时卡特兰数, 但是有除法取余. f[i] = f[i-1]*(4*i - 2)/(i+1); 看了一下网上的题解,照着题解写了下面的代码,不过还是不明白,为什么用扩展gcd, 不是用逆元吗.. 网上还有别人的解释,没看懂,贴一下: (a / b) % m = ( a % (m*b)) / b 笔者注:鉴于ACM题目特别喜欢M=1000000007,为质数: 当gcd(b,m) = 1, 有性质: (a/b)%m = (a*b^-1)%m, 其中b^-1是b模m的逆

HDU 1014 Uniform Generator 题解

找到规律之后本题就是水题了,不过找规律也不太容易的,证明这个规律成立更加不容易. 本题就是求step和mod如果GCD(最大公约数位1)那么就是Good Choice,否则为Bad Choice 为什么这个结论成立呢? 因为当GCD(step, mod) == 1的时候,那么第一次得到序列:x0, x0 + step, x0 + step-- 那么mod之后,必然下一次重复出现比x0大的数必然是x0+1,为什么呢? 因为(x0 + n*step) % mod: 且不需要考虑x0 % mod的值为