简单的set应用,简单题目
#include <stdio.h>
#include <set>
#include <string>
#include <string.h>
using namespace std;
set<string> dict;
int main(void)
{
int i;
bool f;
char buffer[100];
string s, s1, s2;
set<string>::iterator it;
//freopen("input.dat", "r", stdin);
while(scanf("%s",buffer) != EOF)
{
s.assign(buffer, strlen(buffer));
dict.insert(s);
}
for(it=dict.begin(); it!=dict.end(); it++)
{
strcpy(buffer, it->data());
f = false;
for(i=1; i<strlen(buffer); i++)
{
s1.assign(buffer, i);
s2.assign(buffer+i, strlen(buffer)-i);
if(dict.find(s1)!=dict.end() && dict.find(s2)!=dict.end())
{
f = true;
break;
}
}
if(f)
{
printf("%s\n", buffer);
}
}
return 0;
}