给你一些单词
找出其中一些单词
这些单词可以由另外两个单词合成
map水水的就过了
改天来手写哈希补上
事实是STL这么好用
根本不想手写哈希
#include <string>
#include <iostream>
#include <map>
#include <cstdio>
#include <cstdlib>
using namespace std;
map<string, bool> hash;
string s[150000];
int main(){
int cnt = 0;
hash.clear();
while (cin>>s[cnt]) {
hash[s[cnt]] = 1;
cnt++;
}
string a, b;
for (int i = 0; i < cnt; i++)
for (int j = 0; j < s[i].size() - 1; j++) {
a = s[i].substr(0, j + 1);
if (!hash[a])
continue;
b = s[i].substr(j + 1);
if (!hash[b])
continue;
cout<<s[i]<<endl;
break;
}
return 0;
}