題目鏈接:點擊打開鏈接
題目大意:給一個字典,前一個單詞是英語,後一個是外語,中間個一個空格,之後以空行分割,查詢外語的英語對應,沒有則輸出eh。
數據比較大,什麼快排二分,哈希表,字典樹什麼的都可以過。恩,我選擇map水過。。。
#include <cstdio>
#include <cstring>
#include <map>
#include <string>
using namespace std;
int main()
{
int i,j,k;
map<string,string>q;
map<string,string>::iterator it;
char s[22],s1[11],s2[11];
while(gets(s)&&strlen(s))
{
sscanf(s,"%s %s",s1,s2); //這個輸入方式非常神奇
q[s2]=s1;
}
while(~scanf("%s",s1))
{
if(q[s1].size())
printf("%s\n",q[s1].c_str());
else
printf("eh\n");
}
return 0;
}
此題輸入是大坑。。。。。。。。。之前各種OL,TL,真是煩死我了。
此題潛力不錯,可能之後會補正經做法,所以加個標籤提醒自己。。