UVA 10391 Compound Words
来源:互联网 发布:linux rsync 同步目录 编辑:程序博客网 时间:2024/06/01 08:04
题目大意:给出一列单词 字典序输出是由其他俩个单词组合成的单词
解题思路:存储合成的单词时间复杂度为n^2会超时,所以用拆分单词来解决
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#include <map>#include <vector>using namespace std;int n;string s[130000];vector<string> s2;map<string, int> Ma;bool cmp(string x, string y) { if(x.compare(y) < 0) { return true; } else { return false; }}void jud() { for(int i = 0; i < n; i++) { for(int j = 0; j < s[i].size()-1; j++) { string a = s[i].substr(0, j+1); string b = s[i].substr(j+1, s[i].size() - j - 1); if(Ma[a] && Ma[b]) { s2.push_back(s[i]); break; } } } sort(s2.begin(), s2.end(), cmp);}void init() { for(int i = 0; i < n; i++) { Ma[s[i]] = 1; }}int main() { n = 0; while(cin >> s[n]) { n++; } init(); jud(); for(int i = 0; i < s2.size(); i++) { cout << s2[i] << endl; } return 0;}
阅读全文
0 0
- uva 10391 compound words
- UVa 10391 - Compound Words
- uva 10391 - Compound Words
- uva 10391 - Compound Words
- UVa 10391 - Compound Words
- UVa 10391 - Compound Words
- uva 10391 - Compound Words
- UVA 10391 Compound Words
- UVA 10391 - Compound Words
- Uva-10391-Compound Words
- UVa 10391 - Compound Words
- uva--10391 - Compound Words
- UVA 10391 Compound Words
- UVa:10391 Compound Words
- uva 10391 Compound Words
- UVa 10391 - Compound Words
- UVA 10391 Compound Words
- UVA 10391 - Compound Words
- layui弹出层按钮提交iframe表单
- 进程与程序的区别
- oracle安装环境搭建以及PLSQL Developer使用
- Android 实现多图分享到微信朋友圈
- 14 个你可能不知道的 JavaScript 调试技巧
- UVA 10391 Compound Words
- 强撸Tomcat核心组件:NIO Connector
- [DFS] HDU 2181
- 转发与重定向自我总结
- 笔记整理目录
- 2017-11-9 白银,油,铜 分析
- centos7—交换分区
- 11 个简单的 Java 性能调优技巧
- LightOJ