菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
128
0

poj2503

原创
05/13 14:22
阅读数 31181

 

Babelfish
Time Limit: 3000MS   Memory Limit: 65536K
Total Submissions: 39585   Accepted: 16891

Description

You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.

Input

Input consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a sequence of at most 10 lowercase letters.

Output

Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as "eh".

Sample Input

dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay

atcay
ittenkay
oopslay

Sample Output

cat
eh
loops

Hint

Huge input and output,scanf and printf are recommended.

Source

#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<map>
using namespace std;
map<string,string>m;
char s[30],x[11],y[11];
int main(){
    while(1){
        gets(s);
        if(s[0]=='\0') break;
        sscanf(s,"%s %s",x,y);//分割 
        m[y]=x;
    }
    while(gets(y)){
        if(m[y]=="") cout<<"eh"<<endl;
        else cout<<m[y]<<endl;
    }
    return 0;
}

 

相关热门文章

发表评论

0/200
128 点赞
0 评论
收藏