POJ 2503 单词映射(map)
Sample Input
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay
Sample Output
cat
eh
loops
大致题意:
输入一个字典,字典格式为“英语à外语”的一一映射关系
然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出“eh”
输入时顺便用STL的map标记外语是否出现过,然后再用map建立“外语à英语”的映射,那么输出时先查找“出现”的标记,若有出现过,再输出映射,否则输出“eh”。
题解1:
# include<iostream>
# include <cstdio>
# include<string>
# include<map>
using namespace std; int main(void)
{
char english[],foreign[]; map<string,string>translate; //记录foreign到engliash的映射 /*Input the dictionary*/ while(true)
{
char t; //temporary if((t=getchar())=='\n') //判定是否输入了空行
break;
else //输入english
{
english[]=t;
int i=;
while(true)
{
t=getchar();
if(t==' ')
{
english[i]='\0';
break;
}
else
english[i++]=t;
}
} cin>>foreign;
getchar(); //吃掉 输入foreign后的 回车符 translate[foreign]=english;
} /*Translate*/ char word[];
while(cin>>word)
{
if(translate.find(word) == translate.end()) //没找到
cout<<"eh"<<endl;
else
cout<<translate[word]<<endl;
} return ;
}
题解2:
# include<iostream>
# include <cstdio>
# include<string>
# include<map>
using namespace std; int main(void)
{
char english[],foreign[]; map<string,bool>appear; //记录foreign与engliash的配对映射是否出现
map<string,string>translate; //记录foreign到engliash的映射 /*Input the dictionary*/ while(true)
{
char t; //temporary if((t=getchar())=='\n') //判定是否输入了空行
break;
else //输入english
{
english[]=t;
int i=;
while(true)
{
t=getchar();
if(t==' ')
{
english[i]='\0';
break;
}
else
english[i++]=t;
}
} cin>>foreign;
getchar(); //吃掉 输入foreign后的 回车符 appear[foreign]=true;
translate[foreign]=english;
} /*Translate*/ char word[];
while(cin>>word)
{
if(appear[word])
cout<<translate[word]<<endl;
else
cout<<"eh"<<endl;
} return ;
}
POJ 2503 单词映射(map)的更多相关文章
- poj 2503 Babelfish (查找 map)
题目:http://poj.org/problem?id=2503 不知道为什么 poj 的 数据好像不是100000,跟周赛的不一样 2000MS的代码: #include <iostrea ...
- POJ 2503 Babelfish(map,字典树,快排+二分,hash)
题意:先构造一个词典,然后输入外文单词,输出相应的英语单词. 这道题有4种方法可以做: 1.map 2.字典树 3.快排+二分 4.hash表 参考博客:[解题报告]POJ_2503 字典树,MAP ...
- 题解报告:poj 2503 Babelfish(map)
Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...
- poj 2503 哈希 Map 字典树
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 36967 Accepted: 15749 Descr ...
- VIM键盘映射 (Map)~转载
VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...
- VIM键盘映射 (Map)
http://www.pythonclub.org/linux/vim/map VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命 ...
- 图像映射map
<map>标签:带有可点击区域的图像映射 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 效果图: 点击相应蓝色标签可进入详情页面浏览. 代码: < ...
- [51NOD1095] Anigram单词(map)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095 字典的单词在map中排序和不排序各存1次,查的时候相减. ...
- <顶>vim快捷键映射Map使用
问题描述: 使用vim中的快捷键映射map,可以自定义快捷键 问题解决: (1)vim模式 (2)map前缀 (3)删除映射Map (4)使用示例 (5)查看快捷键映射 命令行---:verbose ...
随机推荐
- Oracle语句优先级
SQL> SELECT SAL SALARY FROM EMP WHERE SALARY<2500;Warning: connection was lost and re-establis ...
- js 报delete object in strict mode
JAVA->Compiler->Building->No strictly compatible JRE for execution environment available Ig ...
- linux系统--用户和用户组
一.用户和用户组的概念 用户:使用操作系统的人 用户组:具有相同系统权限的一组用户.在linux系统中可以存在多个用户组 1.1 /etc/group 这里存储当前系统中所有用户组的信息 每一行对应一 ...
- fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory(转)
fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory 解决办法:(Vs2013中) 项目--右键--属性--配置属 ...
- c/s 给 服务器上传文件(c/s和b/s互传文件)
//c/s 代码 private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = ne ...
- 第14月第23天 uitextfield文字下移
1. http://www.jianshu.com/p/641a0cbcabb0
- Spring源码解读
beanfactory https://www.cnblogs.com/lspz/p/6244948.html requestmapping https://blog.csdn.net/u012557 ...
- Spring+Struts+Mybatis+Shiro整合配置
Jar包
- LOJ 3093: 洛谷 P5323: 「BJOI2019」光线
题目传送门:LOJ #3093. 题意简述: 有 \(n\) 面玻璃,第 \(i\) 面的透光率为 \(a\),反射率为 \(b\). 问把这 \(n\) 面玻璃按顺序叠在一起后,\(n\) 层玻璃的 ...
- Mac下的开发工具
1.webstrom 淘宝上2块钱就能买一个 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为“Web前端开发神器”.“最强大的HTML5编辑 ...