poj 2503 map应用 与 C 输入问题
2016-08-19 19:37
260 查看
Babelfish
Description
You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.
Input
Input consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language
word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a sequence of at most 10 lowercase letters.
Output
Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as "eh".
Sample Input
Sample Output
Hint
Huge input and output,scanf and printf are recommended.
题目大意:
将右端的单词翻译成左端的单词,如果字典中没有,则输出eh。
分析:
用map解决配对问题
while(gets(str)) //输入一行字符串
{
if(strcmp(str,"\0")==0) break;
sscanf(str,"%s %s",str1,str2); // 只读取不输入,读取 str 中 两个被空格隔开的字符串 给str1,str2
}
Time Limit: 3000MS | Memory Limit: 65536K | |
Total Submissions: 41067 | Accepted: 17494 |
You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.
Input
Input consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language
word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a sequence of at most 10 lowercase letters.
Output
Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as "eh".
Sample Input
dog ogday cat atcay pig igpay froot ootfray loops oopslay atcay ittenkay oopslay
Sample Output
cat eh loops
Hint
Huge input and output,scanf and printf are recommended.
题目大意:
将右端的单词翻译成左端的单词,如果字典中没有,则输出eh。
分析:
用map解决配对问题
while(gets(str)) //输入一行字符串
{
if(strcmp(str,"\0")==0) break;
sscanf(str,"%s %s",str1,str2); // 只读取不输入,读取 str 中 两个被空格隔开的字符串 给str1,str2
}
#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <map> using namespace std; int main() { map<string,string> m; char str1[50],str2[50],str[101]; while(gets(str)) { if(strcmp(str,"\0")==0) break; sscanf(str,"%s %s",str1,str2); m.insert(pair<char *,char *>(str2,str1)); } map<string,string>::iterator it=m.begin(); while(gets(str)) { if(m.find(str)!=m.end()) printf("%s\n",m[str].c_str()); else printf("eh\n"); } return 0; }
相关文章推荐
- POJ 2503 ——map应用
- poj 2503 map , 输入空一行怎么办
- POJ2503 Babelfish(Map键值对的应用)
- Poj 2503 Babelfish(Map操作)
- STL之map——解决POJ 2503
- poj_2503_Babelfish(字典树&&map)
- POJ 1696 Space Ant 类似凸包问题(叉积的应用)
- 键盘输入字母显示数字的问题 ——FN键的特殊应用
- (顺序表应用5.1.1)POJ 3750 小孩报数问题(基本的约瑟夫环问题:给出人数n,出发位置w,间隔数s)
- poj 2503 【hash】【map】
- Gentoo Linux--解决fcitx在GTK3应用下无法调用输入的问题
- 作业三-5应用分支与循环结构解决问题——输入五级成绩
- [解题报告]POJ_2503 字典树,MAP
- poj 2503[string+map]
- POJ-1183反正切函数的应用 解题报告(数论) 反正切函数,一个同余问题
- Poj 2503 Babelfish(Map操作)
- POJ 2503 输入处理
- POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
- POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
- POJ 2503 Babelfish (STL map的应用)