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;
}
题目大意:输入英文、火星文,并且一种英文对应一种火星文。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;
}
相关文章推荐
- Archlinux 安装经验简要总结
- 7.9 Models -- Connection to An HTTP Server
- Resource
- 手机屏幕适配
- Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
- Qt 智能指针学习(7种QT智能指针和4种std智能指针)
- Nignx
- ACM hust 2.1
- 如何高效解析不定长度的协议帧
- 使用caffe训练自己的图像数据
- Java 如何判断线程池所有任务是否执行完毕
- 小技巧
- mybatis利用maven自动生成mapper、xml、domain
- spring mvc重定向方法
- WPF设置控件获得焦点FocusManager
- MD5解密工具
- 织梦DedeCMS列表页标题SEO优化
- Swift学习之Objective-C 与 Swift 混用(1)
- Darwin Streaming Server 核心代码分析
- 日志收集思考