HDU 2072 单词数 【字符串】【基础】
来源:互联网 发布:创意照片制作软件 编辑:程序博客网 时间:2024/06/11 23:14
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
Sample Input
you are my friend#
Sample Output
4
题意:统计不同单词的个数
思路:找个数组记录出现过的单词,扫描每一个新的单词,判断之前是否出现过,然后总数加一或不变。
AC代码(stringstream):
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include <cmath>#include <sstream>using namespace std;int main(){ string s, S[1000]; while(1) { getline(cin, s); if(s == "#") break; stringstream ss(s); string t; int tot = 0; while(ss >> t) { int i; for(i = 0; i < tot; ++i) if(S[i] == t) break; if(i == tot) S[tot++] = t; } cout << tot << endl; } return 0;}
AC代码(map):
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include <cmath>#include <map>using namespace std;char str[10005];int main(){ int flag = 0; while(gets(str)) { if(str[0] == '#') break; string s; map <string,int> a; int len = strlen(str); for(int i = 0; i < len; ++i) { while(str[i] >= 'A' && str[i] <= 'z') { s += str[i]; i++; flag = 1; } if(flag) //找到一个单词 { a[s] = 1; flag = 0; s.clear(); } } cout << a.size() << endl; } return 0;}
寒假共集训10场,年前年后的最后一场都是很基础的题。所以目前也只有这两场补完了。看参赛的队伍在慢慢减少,热情都有所减少吧..
要开学了,新的学期重拾当初的热情(⊙▽⊙) fighting~
0 0
- HDU 2072 单词数 【字符串】【基础】
- Hdu 2072 单词数【字符串】
- hdu 2072 单词数 字符串处理
- HDU 2072 单词数(字符串处理)
- HDU-1274展开字符串/HDU-2072单词数
- HDU 2072 单词数
- hdu 2072 单词数
- hdu 2072 单词数
- HDU 2072 单词数
- HDU 2072 单词数
- Hdu 2072 - 单词数
- Hdu 2072 单词数
- hdu 2072-单词数
- hdu 2072 单词数
- HDU 2072 单词数
- HDU 2072 单词数
- HDU 2072 单词数
- hdu 2072 单词数
- 【scikit-learn】03:将sklearn库用于非监督性学习 聚类
- Android Dalvik ART
- HTML5面试题(一)
- Hihocoder #1333 : 平衡树·Splay2
- 【排序算法】之冒泡排序
- HDU 2072 单词数 【字符串】【基础】
- 真实与虚幻
- Java学习遇到的该记下来的知识
- 什么是类和对象以及定义类
- MySQL workbench 用户创建与权限设置
- 2.2、接续符和转义符
- 理解python中的self
- Java中static、final的理解
- 开源PLM软件Aras详解七 在Aras的Method中如何引用外部DLL