• POJ 2503 Babelfish


    表示刚刚做出来 就发现不能提交了 好悲催= =

    伤心难过痛哭流涕%>_<%

    Babelfish
    Time Limit: 3000MS   Memory Limit: 65536K
    Total Submissions: 31630   Accepted: 13613

    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.



    #include <iostream>
    #include <string>
    #include <map>
    #include <stdio.h>
    #include <cstring>
    using namespace std;
    int main()
    {
    	map <string ,bool >appear;
    	map <string ,string>printf;
    	char s[40],sa[20],sb[20];
    	string f;
    	string english;
        while (gets(s))
    	{
    		if (s[0]=='')
    			break;
    		int len1;
    		int len=strlen(s);
    		for(len1=0;len1<len;len1++)
    			if(s[len1]==' ')
    				break;
    		int i;
    		for(i=0;i<len1;i++)
    			sa[i]=s[i];
    		sa[len1]='';
    		int k=0;
    		for(i=len1+1;i<len;i++)
    			sb[k++]=s[i];
    		sb[k]='';
    		english=sa;
    		f=sb;
    		appear[f]=true;
    		printf[f]=english;
    	}
    	string s1;
    	while(cin>>s1)
    	{
    		if(appear[s1]==true)
    			cout<<printf[s1]<<endl;
    		else
    			cout<<"eh"<<endl;
    	}
        return 0;
    }
    
    /*
    dog ogday
    cat atcay
    pig igpay
    froot ootfray
    loops oopslay
    
    atcay
    ittenkay
    oopslay
    */
    




  • 相关阅读:
    第一次热身赛和正式比赛感想
    简明解释算法中的大O符号
    poj 3045
    poj 3104
    poj 3273
    poj 3258
    poj 2456
    二分法小结
    Poj 2718 Smallest Difference
    GCJ——Crazy Rows (2009 Round 2 A)
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6819435.html
Copyright © 2020-2023  润新知