UVa 156 Ananagrams [Ad Hoc]
来源:互联网 发布:linux中使用getch 编辑:程序博客网 时间:2024/06/16 17:24
Description
一堆字符串
如果两个能排序之后变成一样的,就是一样的
不然就是不一样的
把所有不一样的输出
按字典序
排序时候不算大小写
i.e.
Abc 和 Cba是一样
Algorithm
用map
但是map貌似不能接结构体。。。
Code
#include <cstdio>#include <cctype>#include <iostream>#include <algorithm>#include <map>using namespace std;const int maxn = 1000 + 9;map<string, int> words;struct V{ string o, r;};string repr(const string &s){ string ret = s; for (int i = 0; i < ret.size(); i++) ret[i] = tolower(ret[i]); sort(ret.begin(), ret.end()); return ret;}bool cmp(const V &x, const V &y){ if (x.o < y.o) return true; return false;}int main(){ int n = 0; V a[maxn]; for (;;) { n++; cin >> a[n].o; if (a[n].o == "#") break; a[n].r = repr(a[n].o); words[a[n].r]++; } sort(a, a + n, cmp); for (int i = 0; i < n; i++) { if (words[a[i].r] == 1) cout << a[i].o << endl; }}
0 0
- UVa 156 Ananagrams [Ad Hoc]
- UVa 1595 Symmetry [Ad Hoc]
- UVa 299 Train Swapping [Ad Hoc]
- UVa 156 - Ananagrams
- uva 156 Ananagrams
- UVA 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- uva 156 - Ananagrams
- uva- 156-Ananagrams
- UVa 156 - Ananagrams
- UVA 156 - Ananagrams
- UVa 156 - Ananagrams
- UVa 156 - Ananagrams
- UVA 156 Ananagrams
- uva 156 - Ananagrams
- UVa - 156 - Ananagrams
- uva 156 Ananagrams
- 2133232
- 开发Flex for Android第一个ANE(ActionScript Native Extensions)本地扩展
- python 模块 chardet下载方法及介绍
- bzoj 1497(最小割,最大权闭合子图)
- Android ORM 数据库的使用
- UVa 156 Ananagrams [Ad Hoc]
- 线程常用操作
- java 找出数组中只出现一次的数字
- VC如何制作用IC卡读卡器读取系统
- 正则表达式的使用
- 算式的解析算法
- DOM and BOM
- 本体自动提取工具的初步实验计划书
- Mybatis源码分析之执行完整分析