Problem E: Compound Words
You are to find all the two-word compound words in a dictionary. A two-word compound word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.
Input
Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 120,000 words.
Output
Your output shoshould contain all the compound words, one per line, in alphabetical order.
Sample Input
aalienbornlesslienneverneverthelessnewnewbornthezebra
Sample Output
aliennewborn
Question: give a series of words and find out the words composed of two words. Sort them directly and search for them in binary mode.
#include
#include
#includeusing namespace std;int k;string st[120005];bool cmp(string x,string y){ return x
str) { right=mid-1; } else return 1; } return 0;}int main(){ string str; int i,j; k=0; while(getline(cin,str)) { st[k++]=str; } sort(st,st+k,cmp); //cout<