标签:
Standard input consists of a number of lowercase words, one per line,in alphabetical order. There will be no more than 120,000 words.
Your output should contain all the compound words, one per line, inalphabetical order.
a alien born less lien never nevertheless new newborn the zebra
alien newborn
AC代码:
#include"iostream"
#include"set"
using namespace std;
int main()
{
set<string> dic;
string s;
while(cin>>s) dic.insert(s);
set<string> ::iterator it;
for(it=dic.begin();it!=dic.end();it++)
{
string str,sub1,sub2;
str=*it;
for(int i=0;i<str.size()-1;i++)
{
sub1=str.substr(0,i+1);
sub2=str.substr(i+1,str.size()-i-1);
if(dic.find(sub1)!=dic.end()&&dic.find(sub2)!=dic.end())
{
cout<<str<<endl;
break; //一定要即时break掉,以免重复
}
}
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/zsyacm666666/p/4659949.html