POJ 2503 Babelfish(map)
2015-07-11 09:17
423 查看
Description
输入一个字典,字典格式为“英语 外语”的一一映射关系,然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出eh
Input
首先输入一个字典,以空行结束,字典每行两个单词表示英语与外语的一一对应关系,之后是多组查询,每组查询一个外语,以文件尾结束输入
Output
对于每组查询,若字典中存在这个单词则输出其对应的外语,否则输出eh
Sample Input
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay
Sample Output
cat
eh
loops
Solution
水题,输入时顺便用STL的map标记外语是否出现过,然后再用map建立“外语 英语”的映射,那么输出时先查找“出现”的标记,若有出现过,再输出映射,否则输出“eh”。
Code
输入一个字典,字典格式为“英语 外语”的一一映射关系,然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出eh
Input
首先输入一个字典,以空行结束,字典每行两个单词表示英语与外语的一一对应关系,之后是多组查询,每组查询一个外语,以文件尾结束输入
Output
对于每组查询,若字典中存在这个单词则输出其对应的外语,否则输出eh
Sample Input
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay
atcay
ittenkay
oopslay
Sample Output
cat
eh
loops
Solution
水题,输入时顺便用STL的map标记外语是否出现过,然后再用map建立“外语 英语”的映射,那么输出时先查找“出现”的标记,若有出现过,再输出映射,否则输出“eh”。
Code
#include<cstdio> #include<cstring> #include<iostream> #include<string> #include<map> using namespace std; int main() { map<string,string>M; string s1,s2,s; char str[15]; while(gets(str)&&strlen(str))//字典输入结束条件 { s1=s2="\0"; int i; for(i=0;;i++) if(str[i]==' ') { str[i]='\0'; break; } s1+=str;//英语 s2+=str+i+1;//外语 M[s2]=s1;//外语-英语的映射 } while(cin>>s)//查询输入结束条件 { if(M[s].size())//字典中存在该单词 cout<<M[s]<<endl; else//字典中不存在该单词 cout<<"eh"<<endl; } return 0; }
相关文章推荐
- iOS常用的第三方库以及XCode插件集锦
- 【DP】 TOJ 4103. Chinese Hockey 3
- 解决互斥锁lock,报tpp.c:63: __pthread_tpp_change_priority: Assertion异常
- 新加坡签证 IPA letter 条形码问题
- 最长递增子序列 O(NlogN)算法
- canvas绘图基础整理
- eclipse 启动到loading workbench... 自动关闭
- C++非递归队列实现二叉树的广度优先遍历
- vs2008快捷键
- Centos清理内存 内存回收释放及内存使用查看的相关命令
- 服务器端的返回的套接字是不是客户端的套接字???
- Win7 64位系统搭建:UE4+CEGUI+VS2013游戏框架一
- [框架学习前奏]注解学习
- 黑马程序员——OC基础---核心语法(id,构造方法,Category,description,SEL)
- Windows 8.1蓝屏 提示netwlv64.sys netwlv32.sys 报错
- 新建一个Xcode工程需要注意的地方
- 第二章 flex处理二义性
- 【C++】引用计数器简单示例
- CC2530 事件轮询流程
- 实习第八天