用map写超便捷
也可以用字典树来写
我以前是用map的:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<string>
#include<math.h>
#include <iostream>
#include<map>
using namespace std;
string word[];
int main()
{
int i=,n,len,j;
map<string,int>m;
// map<string,int>::iterator q;
while(cin>>word[i])
{
m[word[i++]]=;//这里是标记该单词在map里的
}
n=i;
for(i=;i<n;i++)
{
len=word[i].length();
for(j=;j<len;j++)
{
string s1(word[i],,j);//C++中string的操作:复制函数:word[i]的 0~j 位复制给s1
string s2(word[i],j);//同上:复制函数:j~末位(前边必要加string 定义?)
if(m[s1]==&&m[s2]==)
{
cout<<word[i]<<endl;
break;
}
}
}
return ;
}