ZOJ 1109 Language of FatMouse
来源:互联网 发布:淘宝商家入住需要什么 编辑:程序博客网 时间:2024/05/29 13:24
题目地址:点击打开链接
思路:用STL容易超时,本题没有超时,用字典树比较麻烦,可以先排序再二分搜索
AC代码:
#include <iostream>#include <cstdio>#include <cstring>#include <map>using namespace std;int main(){ map<string,string> entry; char a[20],b[20],c[40]; string value,key; while(gets(c)) { if(strlen(c) == 0) break; sscanf(c,"%s%s",a,b); value = a; key = b; entry[key] = value; } while(scanf("%s",a) != EOF) { if(entry.find(a) != entry.end()) //printf("%s\n",entry[a]);不能用print输出 cout<<entry[a]<<endl; else printf("eh\n"); } return 0;}
AC代码:
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;struct node{ char english[20],mouse[20];}word[100105];int cmp(const void *_a,const void *_b)//按字符串升序排列{ node *a = (node*)_a; node *b = (node*)_b; return strcmp(a->mouse,b->mouse);}int main(){ char c[40]; int n = 0; while(gets(c)) { if(strlen(c) == 0) break; sscanf(c,"%s%s",word[n].english,word[n].mouse); n++; } qsort(word,n,sizeof(node),cmp); int left,right,mid,ok; while(scanf("%s",c) != EOF) { left = ok = 0; right = n - 1; while(left <= right) { mid = (left + right) / 2; if(strcmp(word[mid].mouse,c) == 0) { ok = 1; break; } else if(strcmp(word[mid].mouse,c) > 0) right = mid - 1; else left = mid + 1; } if(ok) printf("%s\n",word[mid].english); else printf("eh\n"); } return 0;}
0 0
- ZOJ 1109 Language of FatMouse
- zoj 1109 Language of FatMouse
- ZOJ 1109Language of FatMouse
- ZOJ 1109 Language of FatMouse
- ZOJ 1109 Language of FatMouse
- ZOJ 1109 Language of FatMouse
- zoj 1109 Language of FatMouse
- ZOJ-1109 -Language of FatMouse
- zoj 1109 Language of FatMouse
- zoj 1109 : Language of FatMouse
- zoj 1109 Language of FatMouse
- ZOJ 1109 Language of FatMouse
- ZOJ 1109 Language of FatMouse
- zoj 1109 Language of FatMouse
- ZOJ 1109 Language of FatMouse
- zoj 1109 Language of FatMouse 【字典树】
- ZOJ 1109 Language of FatMouse 【STL】
- ZOJ Problem Set - 1109 Language of FatMouse
- 写给自己的话
- Swift学习笔记系列——(23)泛型
- Robotium 中如何重签名
- 初探CAGradientLayer——渐变色的实现
- hdu-1814(2-SAT)
- ZOJ 1109 Language of FatMouse
- HDU - 4857 逃生(反向建图 + 拓扑排序)
- HDU 1824 Let's go home (2-SAT判定)
- Uva 12075 Counting Triangles(容斥)
- 【Android】Paint的效果研究
- codeforces 71C C. Round Table Knights(枚举)
- Python函数式编程指南(三):迭代器
- iframe自适应高度(兼容多种浏览器)
- Java中由substring方法引发的内存泄漏