用set,set.insert()插入后,查找即可
AC代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <string>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <stack>
#include <queue>
using namespace std;
set<string> dict;
int main()
{
ios::sync_with_stdio(false);
string s;
while (cin >> s) {
dict.insert(s);
}
for (set<string>::iterator it = dict.begin(); it != dict.end(); it++) {
string t = *it;
for (int i = 1; i < t.length(); i++) {
if (dict.find(t.substr(0, i)) != dict.end() &&
dict.find(t.substr(i, t.length() - i)) != dict.end()) {
cout << t << endl;
break;
}
}
}
return 0;
}