POJ2503 Babelfish(二分)
题目链接。
分析;
主要是学着用一下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(二分)相关推荐
- 58 - 算法 - 百练 2503:Babelfish 二分查找与存储
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...
- (java)Poj2503:Babelfish(在线翻译)(通天鱼)
2503:Babelfish 总时间限制: 3000ms 内存限制: 65536kB 描述 You have just moved from Waterloo to a big city. The p ...
- poj2503 Babelfish
跟poj3349很类似的题目,这题还稍简单.用qsort快速排序和二分查找可以很轻松AC.以下是代码: Run ID User Problem Result Memory Time Language ...
- POJ2503 Babelfish map或者hash_map
POJ2503 这是一道水题,用Map轻松AC. 不过,可以拿来测一下字符串散列, 毕竟,很多情况下map无法解决的映射问题需要用到字符串散列. 自己生成一个质数, 随便搞一下. #include&l ...
- 竞赛程序设计知识要点图谱
一.基础算法 1.枚举法 POJ1248 Safecracker HDU1172 猜数字 POJ1543 Perfect Cubes POJ1046 Color Me Less 2.递归法:Hanoi ...
- POJ2503 UVA10282 Babelfish
问题链接:POJ2503 UVA10282 Babelfish. 问题描述:参见上文. 问题分析:这个问题只是一个字典问题,自然用map来实现.问题的关键是时间上能否更快. 程序说明:本来是想用类un ...
- [POJ 2503] Babelfish【二分查找】
题目大意 给你一个词典,每行有两个字符串x,y,表示y翻译成x. 一行空行隔开. 给你一些单词y,问你翻译后的x,如果词典里没有,那么就输出"eh" 解题报告 C++调map,还可 ...
- Babelfish poj2503
2503 -- Babelfish 题目大意:有10000个外语单词和10000个英语单词对应,现给出10000个外语单词,问对应的英语单词是什么,没有对应则输出eh 思路:构建字典树,每一个节点都是 ...
- 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/
大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...
最新文章
- Android 源码编译相关
- django之ORM介绍与基本用法(一)
- 【整理】使用云计算服务面临的几个安全问题
- 多线程面试题之原子性、可见性、有序性
- 每个人都有自己的秘密
- C++ replace replace_if replace_copy replace_copy_if
- 桥接模式下的手机-电脑-开发板连接
- Codeforces Global Round 11——E随机+线性基待补
- Maven使用assembly对多模块进行打包
- 浅析Mysql的隔离级别及MVCC
- codeforces 914 D Bash and a Tough Math Puzzle
- 最详细的 K8S 学习笔记总结
- XTUOJ-1281-Cute String
- PySwitch - Python 环境快速切换
- B站最专业的DC漫威UP主,深度挖掘漫威故事内容。
- daytime协议的服务器和客户端程序,用Socket套接字实现DAYTIME协议的服务器和客户端程序-20210414073352.docx-原创力文档...
- Mac如何找到和清理微信和QQ的缓存文件
- C语言/C++编程学习:和QT零距离接触的意义
- tf24: GANs—生成明星脸
- python爬取歌曲的全部评论
热门文章
- 【许晓笛】 EOS 智能合约案例解析(2)
- @Java | Thread synchronized - [ 线程同步锁 基本使用]
- Oracle 10g 问题集锦
- 剖析Docker Swarm和Mesos:是什么?如何结合?有什么优势?
- mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解
- 开放医疗交通大数据技术 服务于公共便民领域
- TCP三次握手及四次挥手详解
- Android ImageView的scaleType(图片比例类型)属性与adjustViewBounds(调整视图边界)属性
- easypoi导出excel 效率_Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率...
- Doc2Bow简介与实践Demo