#include<iostream>
#include<cstdio>
#include<string>
#include<map>
#include<sstream>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<cstring>
#include<stack>
#include<iomanip>
#include<math.h>
using namespace std;
int main()
{
int i,j;
string s;
map<string,int> str2int;
vector<string> v;
vector<string> result;
while(cin>>s)
{
str2int[s]=1;
v.push_back(s);
}
for(i=0;i<v.size();i++)
{
for(j=1;j<v[i].size();j++)
{
string temp1=v[i].substr(0,j);
string temp2=v[i].substr(j,v[i].size()-j);
if(str2int[temp1]&&str2int[temp2])
{
result.push_back(v[i]);
break;
}
}
}
sort(result.begin(),result.end());
for(i=0;i<result.size();i++)
cout<<result[i]<<endl;
return 0;
}
UVa 10391 Compound Words
最新推荐文章于 2020-03-10 16:22:37 发布