题目链接。

分析;

主要是学着用一下bsearch。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Entry{char english[15], foreign[15];
}entrys[100010];int cmp(const void *a, const void *b){return strcmp((*(struct Entry *)a).foreign, (*(struct Entry *)b).foreign);
}int b_cmp(const void *a, const void *b){return strcmp((char *)a, (*(struct Entry *)b).foreign);
}int main(){char s[30];int top=0;struct Entry *p;while(gets(s)){if(s[0] == '\0') break;sscanf(s, "%s %s", entrys[top].english, entrys[top].foreign);top++;}qsort(entrys, top, sizeof(entrys[0]), cmp);while(scanf("%s", s) == 1){p = (struct Entry *)bsearch(s, entrys, top, sizeof(entrys[0]), b_cmp);if(p == NULL){printf("eh\n");}else printf("%s\n", p->english);}return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Entry{char english[15], foreign[15];
}entrys[100010];int cmp(const void *a, const void *b){return strcmp((*(struct Entry *)a).foreign, (*(struct Entry *)b).foreign);
}int b_cmp(const void *a, const void *b){return strcmp((char *)a, (*(struct Entry *)b).foreign);
}int main(){char s[30];int top=0;struct Entry *p;while(gets(s)){if(s[0] == '\0') break;sscanf(s, "%s %s", entrys[top].english, entrys[top].foreign);top++;}qsort(entrys, top, sizeof(entrys[0]), cmp);while(scanf("%s", s) == 1){p = (struct Entry *)bsearch(s, entrys, top, sizeof(entrys[0]), b_cmp);if(p == NULL){printf("eh\n");}else printf("%s\n", p->english);}return 0;
}

转载于:https://www.cnblogs.com/tanhehe/archive/2013/04/07/3003758.html

POJ2503 Babelfish(二分)相关推荐

  1. 58 - 算法 - 百练 2503:Babelfish 二分查找与存储

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...

  2. (java)Poj2503:Babelfish(在线翻译)(通天鱼)

    2503:Babelfish 总时间限制: 3000ms 内存限制: 65536kB 描述 You have just moved from Waterloo to a big city. The p ...

  3. poj2503 Babelfish

    跟poj3349很类似的题目,这题还稍简单.用qsort快速排序和二分查找可以很轻松AC.以下是代码: Run ID User Problem Result Memory Time Language ...

  4. POJ2503 Babelfish map或者hash_map

    POJ2503 这是一道水题,用Map轻松AC. 不过,可以拿来测一下字符串散列, 毕竟,很多情况下map无法解决的映射问题需要用到字符串散列. 自己生成一个质数, 随便搞一下. #include&l ...

  5. 竞赛程序设计知识要点图谱

    一.基础算法 1.枚举法 POJ1248 Safecracker HDU1172 猜数字 POJ1543 Perfect Cubes POJ1046 Color Me Less 2.递归法:Hanoi ...

  6. POJ2503 UVA10282 Babelfish

    问题链接:POJ2503 UVA10282 Babelfish. 问题描述:参见上文. 问题分析:这个问题只是一个字典问题,自然用map来实现.问题的关键是时间上能否更快. 程序说明:本来是想用类un ...

  7. [POJ 2503] Babelfish【二分查找】

    题目大意 给你一个词典,每行有两个字符串x,y,表示y翻译成x. 一行空行隔开. 给你一些单词y,问你翻译后的x,如果词典里没有,那么就输出"eh" 解题报告 C++调map,还可 ...

  8. Babelfish poj2503

    2503 -- Babelfish 题目大意:有10000个外语单词和10000个英语单词对应,现给出10000个外语单词,问对应的英语单词是什么,没有对应则输出eh 思路:构建字典树,每一个节点都是 ...

  9. 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/

    大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...

最新文章

  1. Android 源码编译相关
  2. django之ORM介绍与基本用法(一)
  3. 【整理】使用云计算服务面临的几个安全问题
  4. 多线程面试题之原子性、可见性、有序性
  5. 每个人都有自己的秘密
  6. C++ replace replace_if replace_copy replace_copy_if
  7. 桥接模式下的手机-电脑-开发板连接
  8. Codeforces Global Round 11——E随机+线性基待补
  9. Maven使用assembly对多模块进行打包
  10. 浅析Mysql的隔离级别及MVCC
  11. codeforces 914 D Bash and a Tough Math Puzzle
  12. 最详细的 K8S 学习笔记总结
  13. XTUOJ-1281-Cute String
  14. PySwitch - Python 环境快速切换
  15. B站最专业的DC漫威UP主,深度挖掘漫威故事内容。
  16. daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序-20210414073352.docx-原创力文档...
  17. Mac如何找到和清理微信和QQ的缓存文件
  18. C语言/C++编程学习:和QT零距离接触的意义
  19. tf24: GANs—生成明星脸
  20. python爬取歌曲的全部评论

热门文章

  1. 【许晓笛】 EOS 智能合约案例解析(2)
  2. @Java | Thread synchronized - [ 线程同步锁 基本使用]
  3. Oracle 10g 问题集锦
  4. 剖析Docker Swarm和Mesos:是什么?如何结合?有什么优势?
  5. mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解
  6. 开放医疗交通大数据技术 服务于公共便民领域
  7. TCP三次握手及四次挥手详解
  8. Android ImageView的scaleType(图片比例类型)属性与adjustViewBounds(调整视图边界)属性
  9. easypoi导出excel 效率_Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率...
  10. Doc2Bow简介与实践Demo