百度预赛第二场

1. 成语纠错 (15分) 

问题背景 

成语是中华民族的文化瑰宝,作为历史的缩影、智慧的结晶、汉语言的精华,闪烁着睿智的光芒。 

你的任务是给一个错误的四字成语进行纠错,找到它的正确写法。具体来说,你只允许修改四个汉字中的其中一个,使得修改后的成语在给定的成语列表中出现。 

原先的错误成语保证不在成语列表中出现。 

有时,这样的“纠错”结果并不惟一。例如“一糯千金”可以改为“一字千金”也可以改成“一诺千金”。但由于“糯”和“诺”是同音字,“一糯千金”实 

为“一诺千金”的可能性比较大。 

因此,我们还将提供一个汉字分类表,要求修改前后的两个字必须属于同一个分类。 

在这样的限制下,我们保证成语纠错的结果惟一。 

注意 

1、汉字均采用GBK编码(参见FAQ) 

2、每个汉字分类至少包含两个汉字,同一个汉字可能出现在多个类别中,同一类别的汉字各不相同。 

3、成语列表中的成语都是真实存在的四字成语,未在分类表中出现的汉字不允许修改。 

输入格式 

输入第一行包含两个整数n, m(1<=n<=200, 1<=m<=20000)。n表示汉字类别的个数,m表示成语的个数。 

以下n行每行用一个无空白分隔符(空格、TAB)的汉字串表示一个分类中的所有汉字。注意,该汉字串最多可能包含200个汉字。 

以下m行为成语列表,每行一个成语,恰好四个汉字。 

最后一行为待纠错的成语,恰好四个汉字,且不在成语列表中出现。 

输出格式 

仅一行,为一个四字成语。在“修改必须在同一分类中进行”的限制下,输入数据保证纠错结果惟一。 

样例输入 

7 3 

糯诺挪喏懦 

字自子紫籽 

前钱千牵浅 

进近今仅紧金斤尽劲 

完万 

水睡税 

山闪衫善扇杉 

一诺千金 

一字千金 

万水千山 

一糯千金 

样例输出 

一诺千金 

2. 圆内五角星 (20分) 

问题背景 

如图,一个半径为1的圆周上有5个点。按角度制给出5个点的极角Ai (0<=Ai<360, i=1..5)。按下图的方法连成一个五角星, 计算圆 

被切割成的11个部分面积的方差。 

 

具体地说, 假定11个区域的面积分别为S1,S2, ..., S11,那么面积的均值计算方法为: 

M = (S1+S2+...+S11 ) / 11 

面积的方差计算方法为: 

D = ((S1-M)2 + (S2-M)2 + ... + (S11-M)2) / 11 

输入格式 

输入仅一行,包含 5 个 [0,359] 内的互不相等的整数。 

注意:连接五角星的方式取决于 5 个点在圆周上的排列顺序,和输入顺序无关。 

输出格式 

输出仅一行,包含一个实数,即各部分面积的方差。输出保留小数点后4位。 

样例输入 

0 144 72 288 216 

样例输出 

0.0144 

3. 传输方案规划 (30分) 

问题背景 

面对艰巨复杂的技术挑战,百度所崇尚的系统设计哲学是“简单可依赖”,而百度的工程师们正在互联网世界中实践着这种理念。这里正好有一个挑战,让作为百 

度之星的你小试牛刀: 

在处理数以百亿计的网络信息的过程中,有一个很常见的问题: 

怎么样将一个集群上的信息以最低的成本传输到另外一个集群上? 

数据源集群A有n台服务器,编号为 1, 2, ..., n,i号服务器上待传输的数据量为Ai ,单位是GB。 

目的地集群B有m台服务器,编号为 1, 2, ..., m,j号服务器上的空闲容量为 Bj,单位为 GB。 

A集群的i号服务器上的每GB数据对于B的集群的j号服务器收益为Vi,j,从 A 集群的 i 号服务器向 B 集群的 j 号服务器传输 1GB数 

据的开销为Ci,j。 

你的任务是在保证A中的所有数据传输完毕的前提下,性价比V/C尽量高。其中V为所有数据在B集群上的价值之和,C为总开销。换句话说,若A集群的i号 

 

服务器向B集群的j号服务器发送了Ti,j个GB的数据(Ti,j不一定是整数),则性价比定义为: 

输入格式 

第1行两个整数n, m(1<=n,m<=50),即集群A和B各自的服务器台数。 

第2行包含n个不超过100的正整数A1,A2,…,An,即集群A中每台服务器的待传输数据量(单位:GB)。 

第3行包含m个不超过100的正整数B1,B2,…,Bm,即集群B中每台服务器所能接受的最大数据量(单位:GB)。 

第 4 ~ n+3 行每行包含m个不超过100的非负整数Vi,j,表示集群A的i号服务器中每GB数据对于集群B中的j号服务器的价值。 

第 n+4 ~ 2n+3 行每行包含m个不超过100的正整数Ci,j,表示集群A的i号服务器中每GB数据传输到集群B中的j号服务器所需要的开 

销。 

输出格式 

仅一行,为最大性价比。输出保留三位小数(四舍五入)。如果A的数据无法传输完毕,输出字符串 “-1”(无引号)。 

样例输入 

2 2 

1 2 

2 1 

11 0 

7 5 

6 1 

3 2 

样例输出 

2.091 

样例解释 

一个方案是: 

集群A的1号服务器把所有数据传输到集群B的1号服务器,价值11,开销6。 

集群A的2号服务器把1GB数据传输到集群B的1号服务器,价值7,开销3,然后把剩下的1GB数据传输到集群B的2号服务器,价值5,开销2。 

性价比:(11+7+5)/(6+3+2)=2.091 

另一个方案是: 

集群A的1号服务器把所有数据传输到集群B的2号服务器,价值0,开销1。 

集群A的2号服务器把所有数据传输到集群B的1号服务器,价值14,开销6。 

性价比:(0+14)/(1+6)=2。 

第一种方案更优。 

4. 公平数 (35分) 

问题背景 

如果一个整数的十六进制表示(不含前导0)中,前一半数字之和等于后一半数字之和,我们称它为公平数。 

注意,如果该数的十六进制表示中包含奇数个数字,则正中间的数字既不属于前一半,又不属于后一半。 

例如在十六进制下1+D=7+7,因此1DE77是公平数。数字E并不参与计算。 

再例如,所有单个数字的十六进制数(即0~F)均为公平数,但F0不是(不能把F0补充前导0写成0F0,进而认为它是公平数)。 

给出十六进制数 K, X, Y 和十六进制数字集合 S,求区间[X, Y]之内,有多少个公平数满足: 

十六进制表达式(不包含前导0)中每个数字均在集合S中 

并且为K的倍数 

输入格式 

输入第一行为数字集S,包含0~9以及大写字母A~F。 

每个数字或字母最多出现一次。 

第二行包含 3 个十六进制正整数K, X, Y,均不超过 10 个数字(包含0~9以及大写字母A~F,不包含前导 0)。 

输出格式 

仅一行,包含一个整数,即满足条件的公平数个数(10进制)。 

样例输入 

124C 

5 100 FFF 

样例输出 

样例解释 

只有四个数满足条件:212,424,4C4,C1C。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值