HDU ACM 2072单词数

分析:自从有了set、sstream中的istringstream与及string之后,这种问题也变水了,记得不要忘了STL或者是字符串类及字符流等工具哦!、

注意:重复的单词算一个。

#include<iostream>
#include<sstream>
#include<set>
using namespace std;

int main()
{
	char a[10001];
	string b;

	while(gets(a) && a[0]!='#')
	{
		set<string> s;
		istringstream sin(a);
		while(sin>>b)
		{
			s.insert(b);
		}
		cout<<s.size()<<endl;
	}
    return 0;
}
时间: 2024-08-21 22:24:59

HDU ACM 2072单词数的相关文章

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

HDOJ——2072单词数

SSCANF用法:(继qsort,bsearch,strchr后发现的又一好使的函数) sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源. 例子:   1. 常见用法. char buf[512] ; sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中! printf("%s\n", buf); 结果为:12

HDU 2072.单词数【STL的优势以及字符串流的使用】【8月4】

单词数 Problem Description lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数. Sample Input you are my friend # Sample

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 单词数(STL set写法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2072 思路简单,但是注意一个细节就是最后可能是空格结束的,就是这儿让我WA啦好多次呀... code: #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<set> #include<st

HDU 2072 单词数(map)

Problem Description http://acm.hdu.edu.cn/showproblem.php?pid=2072 lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output 每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总

hdu 2072 单词数,set,strtok

STL_set操作: st.begin() 返回指向第一个元素额迭代器 st.end() 返回指向末尾元素的迭代器 st.rbegin() 返回逆向迭代器,指向链表末尾 st.rend() 返回指向开头之前位置的迭代器 st.clear() 清空迭代器 st.count(key_type key) 返回某个值元素的个数 st.empty() 如果为空,返回true st.size() 返回元素的数量 st.swap() 交换两个集合变量 st.insert(val) st.insert(loc,

杭电2072 统计单词数

http://acm.hdu.edu.cn/showproblem.php?pid=2072 用set容器来统计单词数,可以排除相同的单词. #include<iostream>#include<set>#include<string>using namespace std; int main(){ string String,str; set<string> s; int i = 0; bool flag; while(getline(cin,str) &

hdu acm 2082 找单词

找单词 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3722    Accepted Submission(s): 2663 Problem Description 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到