#include<iostream>
#include<set>
#include<string>
#define setfind(y) words.find(y)!=words.end()
using namespace std;
set<string> words;
int main()
{
string str;
set<string>::iterator it;
while (cin >> str)words.insert(str);
for (it = words.begin();it != words.end();it++)
{
str = *it;
for (int i = 0;i < str.size();i++)
{
string sub1 = str.substr(0, i + 1);
string sub2 = str.substr(i + 1, str.size());
if (setfind(sub1) && setfind(sub2))
{
cout << str << endl;
break;
}
}
}
return 0;
}
set存放所有单词,迭代set,取出每一个string,枚举string的各种剪切点,然后查切出来的两个单词是否在set中
UVA 10391
最新推荐文章于 2020-12-09 23:24:01 发布