|
涉及到substr()函数,第一次用QAQ……单词长度不长,分成子串在set集合里面查找。担心cin,cout会超时,所以用scanf,printf替代,然而printf不能直接输出string类型,需处理…… 对于substr()的用法如图所示: 
#include<bits/stdc++.h>
using namespace std;
set<string>s;
int main()
{
string a;
char b[20];
while(~scanf("%s",b))
{
a=b;
s.insert(a);
}
for(set<string>::iterator it=s.begin();it!=s.end();it++)
{
for(int i=0;i<(*it).length()-1;i++)
{
string x=(*it).substr(0,i+1);
string y=(*it).substr(i+1,(*it).length()-(i+1));
if(s.find(x)!=s.end()&&s.find(y)!=s.end())
{
printf("%s\n",(*it).c_str());
break;
}
}
}
return 0;
}
|