あまりにも多くの食べ物が、また、長い時間のために考えたい...
メインスティッキングポイント12万個の単語である
各単語の暴力は、それが接頭辞であるかどうかの単語の前に最初に行く、とそこサフィックス、O(nはN *かどうかを判断する場合)アルゴリズム...
辞書式ソートこの問題は、(nはLOGN)アルゴリズム、および半分の缶のためのことを思い出させるためにあります!だから、どのようにそれの半分、隠されたバグの巧妙な使用!
言葉自体の長さは100を超えていません!だから、暴力的な列挙の接頭辞と接尾辞、および照会、どのようなクエリ(N-nlog)?SET!
OK、コード
#include <bits/stdc++.h>
using namespace std;
set<string> dic;
int main()
{
string s;
while(cin >> s)
{
dic.insert(s);
}
for (set<string>:: iterator it = dic.begin(); it != dic.end(); it++)
{
string ss = *it,l,r;
int len = ss.size();
for (int i = 0; i < len; i++)
{
l = ss.substr(0,i+1);
r = ss.substr(i+1,len);
if(dic.count(l) && dic.count(r))
{
cout<<ss<<endl;
break;
}
}
}
return 0;
}