babelfish问题

枚举法:

/*
你刚刚从滑铁卢搬到一个大城市里,这个城市的人们都讲外文,都带着很令人费解的方言,不过很幸运,你有字典可以帮助你理解这些话语。
输入包括100 000个字典条目,紧接着是一个空行,然后便是等待你翻译的信息,每个消息中单次数目最多不超过100 000.每个字典条目都只有一行,包括一个英文单词和一个外文单词,中间使用一个空格隔开。
不会在字典中出现两个相同的外文单词,每个消息都是由一系列的外文单词构成,每个单词占一行,单词最多不会超过10个小写字母。
输出翻译成英文的信息,每行一个单词,字典中没出现的单词翻译成“eh”.
枚举法
*/
#include
#include
#include
#include
using namespace std;
const int mm=100010;
class node
{
public:
    char e[20],s[20];                        //e 表示的是字典中英语,     s表示字典中的外文
}dic[mm];                                    //定义结构体从而省却使用二维数组
char t[20];
int pos;
int main()
{
    pos=0;
    char z;
    while(scanf("%s%c",dic[pos].e,&z)!=EOF)                           //此地不能用cin,因为cin不能输入空格
    {
        if(z=='\n')
        {
            strcpy(t,dic[pos].e);
            break;                                                //一旦输入的回车的话则会跳出该循环,输入到此结束
        }
        cin>>dic[pos++].s;
    }                                                
    int num=-1;
    for(int i=0;i     if(strcmp(t,dic[i].s)==0)
        num =i;
    if(num>=0)
        printf("%s\n",dic[num].e);
    else
        puts("eh");
    while(cin>>t)
    {
        num=-1;
        for(int i=0;i         if(strcmp(t,dic[i].s)==0)
            num = i;
        if(num>=0)
            cout<         else
            cout<<"eh"<     }
    return 0;
}


你可能感兴趣的:(babelfish问题)