Compound Words

来源:互联网 发布:软件poc产品 编辑:程序博客网 时间:2024/05/18 00:47

题意:

给出几个串,输出能有里面的串组成的串

思路:

将每个串存在集合里面,然后将每个串截成不同形式,在集合里寻找是否有这个串

代码:

#include<iostream>#include<cstdio>#include<string>#include<set>#include<algorithm>using namespace std;int main() {string s;set<string> res;while(cin>>s) {res.insert(s);}for(set<string>::iterator it=res.begin(); it!=res.end(); it++) {string a = *it;int n = a.size();for(int i=0; i<n; i++) {string one = a.substr(0, i+1);string two = a.substr(i+1, n-i);if(res.find(one) != res.end() && res.find(two) != res.end()) {cout<<a<<endl;break;}}}return 0;}


0 0