hdu1075

来源:互联网 发布:中国制造的实力 知乎 编辑:程序博客网 时间:2024/05/16 03:53


点击打开链接

题目大意:输入英文、火星文,并且一种英文对应一种火星文。START开始,END结束。

再输入一组字符串,看输入的字符串中的火星文是否有相对应的英文,如果有,则输出相对应的英文;否则直接输出。

这个性质与map相符,键值对。map<key,value>

想到这里就简单了,map<火星文,英文>。接下来只需要考虑输入的key是否有相对应的value。

附上代码:



#include <iostream>
#include<map>
#include<string>
#include<cstdio>
#include<cstring>
using namespace std;


int main()
{
    map<string,string> m;
    string str1,str2;
    cin>>str1;
    while(cin>>str1,str1!="END")//йДхКс╒ндсК╩Ппгнд
    {
        cin>>str2;
        m[str2]=str1;
    }
    cin>>str1;
    getchar();
    char str[3000+10];
    while(gets(str)&&strcmp(str,"END")!=0)
    {
        str2="";
        int len=strlen(str);
        for(int i=0;i<len;i++)
        {
            if(!(str[i]>='a'&&str[i]<='z'))
            {
                if(m[str2]=="")
                    cout<<str2;
                else
                    cout<<m[str2];
                str2="";
                cout<<str[i];
            }
            else
                str2+=str[i];
        }
        printf("\n");
    }
    return 0;
}

0 0
原创粉丝点击