UVA
来源:互联网 发布:淘宝网买家可以贷款吗 编辑:程序博客网 时间:2024/06/06 17:02
/* 收获: 1. set是数学上的集合,每个元素最多出现一次,和sort函数一样,自定义类型也可定义set,但必须定义小于运算符 关于STL中的set,可见改blog: http://blog.csdn.net/sunshinewave/article/details/8068326 2. string类中除了size()以外,也有和它意义用法基本一样的length(): http://blog.csdn.net/caomiao2006/article/details/4814927 3. 有用的函数: isalpha, tolower, 还有以前用过的, isdigit, 在很多时候,可以极大简化代码 另,上面几个函数都是在 <cctype> 头文件中 4. set<string>::iterator 表示的时迭代器,是STL的一个概念,类似于指针(类似是指用法类似) 注意:string中也有迭代器,且之前做题时也遇到过 题号:UVA - 11809 Floating-Point Numbers 链接: http://blog.csdn.net/mofushaohua_ln/article/details/77415016 当时这题里面有这样一句代码 for (string::iterator i = in.begin(); i != in.end(); i++)if (*i == 'e') *i = ' ';就是用到了string的迭代器此外,之前做题时,有了解到反迭代器,有关blog一并放上http://blog.csdn.net/kjing/article/details/6936325 评价: 本题技巧不多,主要思路就是,用set保存单词集合,同时,输入时把所有非字母的字符变成空格,然后用 stringstream 得到各个单词*/
#include <iostream>#include <string>#include <set>#include <sstream>#include <cctype> using namespace std;set<string> dict; //string集合typedef set<string>::iterator p;//#define debugint main(){#ifdef debugfreopen("E:\\in.txt", "r", stdin);freopen("E:\\out.txt", "w", stdout);#endifstring s, buf;while (cin >> s){for (int i = 0; i < s.length(); i++)if (isalpha(s[i])) s[i] = tolower(s[i]);else s[i] = ' ';stringstream ss(s);while (ss >> buf)dict.insert(buf);}for (p it = dict.begin(); it != dict.end(); it++)cout << *it << endl;#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;}
阅读全文
0 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- weui学习总结——3、微信样式界面切换
- 计算二叉树每层平均值
- UVA
- A. Kirill And The Game #430 (Div. 2)
- 阿里云使用幸运券首购ECS抽奖活动
- UVA
- UVA
- Codeforces Round #430 (Div. 2) Ilya And The Tree 树上因子 思维 + dfs
- IntentService详解
- codeforce 842C. Ilya And The Tree(dfs用set存储到每种可能)
- MAC地址和IP的区别
- poj3684 Physics Experiment
- Ehcache详细解读
- 基于多种分隔符进行字符串的分割