当前位置: 首页 > 编程日记 > 正文

poj2503 Babelfish

跟poj3349很类似的题目,这题还稍简单。用qsort快速排序和二分查找可以很轻松AC。以下是代码:

Run IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time
5135234zen_chou2503Accepted2356K547MSC1212B2009-05-11 20:12:26

ContractedBlock.gifExpandedBlockStart.gifCode
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #define MAXSIZE 100001
 5 typedef struct{
 6     char english[11];
 7     char foreign[11];
 8 }ENTRY;
 9 ENTRY entry[MAXSIZE];
10 int cmp(const void *a, const void *b){
11     return strcmp((*(ENTRY *)a).foreign, (*(ENTRY *)b).foreign);
12 }
13 
14 int main()
15 {
16     int i, len_fre, count=0, low, high, mid, r, flag;
17     char c, message[11];
18     //freopen("input.txt", "r", stdin);
19     while ((c=getchar())!='\n'){
20         //读入数据
21         i=0;
22         len_fre=0;
23         while (c!=' '){
24             entry[count].english[i++]=c;
25             c=getchar();
26         }
27         entry[count].english[i]='\0';
28         c=getchar();
29         i=0;
30         while (c!='\n'){
31             entry[count].foreign[i++]=c;
32             c=getchar();
33             len_fre++;
34         }
35         entry[count].foreign[i]='\0';
36         count++;
37     }
38     //对entry按照foreign进行快速排序
39     qsort(entry, count, sizeof(entry[0]), cmp);
40     while (scanf("%s", message)!=EOF){
41         //对entry的foreign进行二分查找
42         low=0;
43         high=count-1;
44         flag=0;
45         while (low<=high){
46             mid=(low+high)/2;
47             r=strcmp(message, entry[mid].foreign);
48             if (r==0){
49                 printf("%s\n", entry[mid].english);
50                 flag=1;
51                 break;
52             }
53             if (r<0){
54                 high=mid-1;
55             }
56             else{
57                 low=mid+1;
58             }
59         }
60         if (flag==0){
61             printf("eh\n");
62         }
63     }
64 }

转载于:https://www.cnblogs.com/zen_chou/archive/2009/05/11/1454414.html

相关文章:

(C语言)一种简易记法:生成[a,b]范围内的随机整数

1. 添加头文件 #include<stdlib.h> #include<time.h> 2. 初始化随机种子 srand((unsigned)time(NULL)); 3. 确定元素个数b-a1&#xff0c;以及最小元素 printf("%d",rand()%(b-a1)a);//生成[a,b]之间的数 printf("%d",rand()%1001);//生成…

IE和火狐都支持的方法(输入用户名和密码后按下 enter 键)

在Firefox中老报"event is not defined”错误&#xff01;原因是因为在Firefox中使用了不同的事件对象模型,不同于IE Dom&#xff0c;用的是W3C Dom。 document.οnkeydοwnfunction mykeyDown(e){ //compatible IE and firefox because there is not event in fir…

数据库中存储与读取文件

if exists (select * from dbo.sysobjects where id object_id(N[dbo].[p_binaryIO]) and OBJECTPROPERTY(id, NIsProcedure) 1)drop procedure [dbo].[p_binaryIO]GO /*--bcp 实现二进制文件的导入导出 支持image,text,ntext字段的导入/导出 image适合于二进制文件,包括:Wor…

洛谷P3723 [AH2017/HNOI2017]礼物(FFT)

传送门 首先&#xff0c;两个数同时增加自然数值相当于只有其中一个数增加&#xff08;此增加量可以小于0&#xff09; 我们令$x$为当前的增加量&#xff0c;${a},{b}$分别为旋转后的两个数列&#xff0c;那么$$ans\sum_{i1}^n(a_ix-b_i)^2$$ 然后把第$i$项提出来并展开&#x…

1035 插入与归并

1. 这一题&#xff0c;首先要会插入排序和归并排序的写法。对于归并排序&#xff0c;可以用非递归sort最简便。把每一趟的结果存进二维数组。 2. 单独封装一个函数&#xff0c;比较两个一维数组是否完全一样。 3. 由于归并比插入的复杂度低&#xff0c;趟数少&#xff0c;所以…

代码设置LinearLayout的高度

问题描述我想把这个LinearLayout宽度设置成为FILL_PARENT&#xff0c;源码如下LinearLayout checkboxLinearLayout (LinearLayout) getLayoutInflater().inflate(R.layout.checkboxdoitem, null);LayoutParams params (LayoutParams) checkboxLinearLayout.getLayoutParams();…

精通Spring Boot —— 第十五篇:使用@ControllerAdvice处理异常

在Spring 3.2中&#xff0c;新增了ControllerAdvice、RestControllerAdvice 注解&#xff0c;可以用于定义ExceptionHandler、InitBinder、ModelAttribute&#xff0c;并应用到所有RequestMapping、PostMapping&#xff0c; GetMapping注解中。接下来我将通过代码展示如何使用这…

架构设计之分布式文件系统

1&#xff1a;类图 2&#xff1a;数据结构 create table TBCOFILE ( FILEID INTEGER not null, FILETIME DATE, TYPE VARCHAR2(10), USERID INTEGER, IP VARCHAR2(20), APPTYPE INTEGER default 0) 3&#xff1a;开发步骤 1&#xff1a;从数据库申…

1029 Median

1. 开始测试点3和6答案错误&#xff0c;原因是没有考虑到&#xff0c;给的两个数列有可能长度相差很大&#xff0c;某个数列还没到中位数&#xff0c;就结束了。 2. 这题的底子是用two pointers按照非递减的顺序合并两个数列&#xff0c;无非是再确定一下中间那个数的下标&…

理解系统底层的概念是多么重要

理解系统底层的概念是多么重要 ——趋势科技邹飞评《程序员的自我修养》 关于《程序员的自我修养》这本书&#xff0c;最初是在和博文的周筠老师MSN上谈起&#xff0c;当时听周老师提及这本书是一本关于链接和装载等系统软件知识的书籍&#xff0c;当时就很感兴趣&#xff0c;因…

session删除

删除一个session值&#xff1a; session_unset(变量); session_destroy(变量); 删除一个cookie&#xff1a; 注意第二个参数中手册中的说明是&#xff1a; Cookie 必须用和设定时的同样的参数才能删除。如果其值一个空字符串&#xff0c;或者是 FALSE&#xff0c;并且其它的参数…

Android学习路线

Android学习路线 第一阶段&#xff1a;Java面向对象编程 1.Java基本数据类型与表达式&#xff0c;分支循环。 2.String和StringBuffer的使用、正则表达式。 3.面向对象的抽象&#xff0c;封装&#xff0c;继承&#xff0c;多态&#xff0c;类与对象&#xff0c;对象初始化和回…

1048 Find Coins(two pointers解法)

1. 很典型的双指针的应用&#xff0c;将数组按照非降排列&#xff0c;两个指针从一头一尾开始包抄&#xff0c;若等于&#xff08;等于要放在第一个&#xff09;则返回结果结束程序&#xff0c;小于则左指针右移&#xff0c;大于则右指针左移。 2. 起初还担心&#xff0c;如果…

TCP/IP 协议理解

TCP/IP 协议&#xff08;Transmission Control Protocol / internet Protocol&#xff09;&#xff0c;因特网互联协议&#xff0c;又名网络通讯协议。通俗而言&#xff1a;TCP负责发现传输的问题&#xff0c;一有问题就发出信号&#xff0c;要求重新传输&#xff0c;直到所有数…

Webhint开源了一种代码检查工具

Webhint项目提供了一种用于检查代码的可访问性、性能和安全的开源检查&#xff08;Linting&#xff09;工具。在创建Web站点和应用中&#xff0c;有越来越多的细节问题亟待完善。为此&#xff0c;Webhint力图帮助开发人员标记这些细节。\\Webhint以命令行接口&#xff08;CLI&a…

SHAREPOINT爬网设置

F:\2009年\MOSS档案 http://share:30088/default.aspx 进入管理中心 共享服务管理-SharedServices1-搜索设置-内容源和爬网计划-本地 Office SharePoint Server 网站-下拉- -编辑-爬网计划-完全(增量)爬网-创建计划 - 对该内容源启动完全爬网-勾选上。 一、 爬网设置&#xff…

1093 Count PAT‘s

这题出现在“活用递推”专题下面&#xff0c;所谓递推就是这一步的结果和上一步的结果有直接联系。对于本题来说&#xff0c;从左到右&#xff0c;记到当前位置&#xff0c;一共出现的P的个数&#xff0c;如果当前位置是P&#xff0c;则个数就是上一位的加1&#xff0c;否则等于…

拜托,面试别再问我时间复杂度了!!!

最烦面试官问&#xff0c;“为什么XX算法的时间复杂度是OO”&#xff0c;今后&#xff0c;不再惧怕这类问题。 快速排序分为这么几步&#xff1a; 第一步&#xff0c;先做一次partition&#xff1b; partition使用第一个元素tarr[low]为哨兵&#xff0c;把数组分成了两个半区&a…

C#和JavaScript的简单互交

转自&#xff1a;http://cgxcn.blog.163.com/blog/static/132312422009426112558831/ 1.asp.net呼叫js Response.Write("<script languagejavascript>"); Response.Write("alert(登峰欢迎您 );" ); …

读阮一峰对《javascript语言精粹》的笔记,我有疑问。

《javascript语言精粹》是一本很棒的书籍&#xff0c;其中作者在附录列出了12种他所认为的javascript语言中的糟粕。 我最近开始跟读前端前辈的博客&#xff0c;其中读到了阮一峰的《12种不宜使用的Javascript语法》&#xff0c;有一个疑问&#xff1a; 文如下&#xff1a; 9. …

1008 Elevator

思路如下&#xff1a;用一个整型数组存楼层&#xff0c;0号元素为0(开始停在0层)&#xff0c;每读入一个元素&#xff0c;和上一个比较&#xff0c;更大说明是上升&#xff0c;总时长加上楼层差*6&#xff0c;反之说明是下降&#xff0c;总时长加上楼层差*4。最后再管停留时间&…

软件安全性能測试(转载)

近来&#xff0c;在我负责的公司某软件产品的最后測试工作&#xff0c;经常被问到这样一个问题&#xff1a;在做測试过程中&#xff0c;我们的软件产品在安全性方面考虑了多少&#xff1f;应该怎样測评一个软件究竟有多安全&#xff1f; 这个软件因为涉及客户商业上重要的…

org.springframework.data.redis 一次连接获取特定key所有k-v(pipeline)

2019独角兽企业重金招聘Python工程师标准>>> 当我们需要一次性获取在redis中以hash方式存储的所有key-value时&#xff0c;我们可以使用下面的方式来获取。 public void testGetMore() throws IOException {RedisCallback<List<Object>> pipelineCallba…

[网络应用]Flash中鼠标手势及Ctrl+T问题{Firefox}

想说这个问题很久了&#xff0c;也是对Flash的一点点小小的不满。 当你在浏览youku&#xff0c;56&#xff0c;Youtube&#xff0c;土豆&#xff0c;Kou6上的视频时&#xff0c;是不是会发现你的CtrlT命令不凑效了。 当你在打开一个Flash全站时&#xff0c;或者鼠标焦点在一个令…

(C++)一行代码递归实现辗转相除法

定理&#xff1a;两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。 int gcd(int a,int b){return !b?a:gcd(b,a%b); } 这里递归边界是 gcd(a,0)a; 递归式是 gcd(a,b)gcd(b,a%b);

【C#】Web页面传值小结-

1. 使用QueryString变量 QueryString是一种非常简单的传值方式&#xff0c;他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时&#xff0c;可以使用这个方法。但是对于传递数组或对象的话&#xff0c;就不能用这个方法了…

分享:用promise封装ajax

用promise封装ajaxvar ajaxOptions {url: url,method: GET,async: true,data: null,dataType: text, } function ajax(protoOptions) {var options {};for(var i in ajaxOptions){options[i] protoOptions[i] || ajaxOptions[i];}return new Promise(function(resolve, reje…

1049 Counting Ones

1. 这一题起初我用递归的方式&#xff0c;还写了一个数整数有多少个1的函数&#xff0c;OneNum[i] OneNum[i-1]countOne(i);毫不意外地出现了段错误&#xff0c;也就是递归调用的次数太多。 2. 看了参考书&#xff0c;得到了思路上的启发&#xff1a; 给定一个数12&#xff…

Oracle:递归查询(树形结构数据)

今天要做一个查询功能&#xff1a;查询某用户所属部门&#xff0c;且包含该部门的所有上级部门信息。偶然找到了一个方法&#xff0c;特意来做个笔记。分享给和我一样的菜鸟&#xff0c;哈哈 查询子节点 1 select * 2 from d_arc_dep 3 start with depid 100000 4 connect b…

FIN_WAIT_2

来自转载&#xff1a;http://blog.sina.com.cn/s/blog_8e5d24890102w9yi.html 上图对排除和定位网络或系统故障时大有帮助&#xff0c;但是怎样牢牢地将这张图刻在脑中呢&#xff1f;那么你就一定要对这张图的每一个状态&#xff0c;及转换的过程有深刻地认识&#xff0c;不能只…