题目:https://vjudge.net/problem/UVA-10391
寻找组合单词
直接利用set和string,将每个string拆成两部分,看能否在set中找到对应的部分
#include<iostream>
#include<set>
#include<string>
using namespace std;
set<string> s;
int main()
{
string word;
while (cin >> word)
{
s.insert(word);
}
for (set<string>::iterator it = s.begin(); it != s.end(); it++)
{
int len = (*it).length();
for (int i = 1; i < len - 1; i++)
{
string head = (*it).substr(0, i);
string tail = (*it).substr(i, len);
if (s.count(head) && s.count(tail))
{
cout << *it << endl;
break;
}
}
}
return 0;
}