您的位置:首页 > 其它

hdu1075

2016-02-01 18:03 295 查看
点击打开链接

题目大意:输入英文、火星文,并且一种英文对应一种火星文。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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: