2018年安徽ACM省赛试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2018年省机器人大赛程序设计竞赛
2018.05.20
目录A.数7
B.编译错误
C.做操的时候要排好队D.判重
E.最长上升字串
F.雄伟的城堡
G.然后打5
H.运货卡车
I.最大矩形框
J.数列分段
K.数数字
A.数7
时间限制: 3s
描述
求整数序列中位置L到位置R中一共有多少个7。对于每个数7的个数的定义为,十进制各个位置上一共有多少个7,以及能够被7整除的次数。
输入
第一行是一个整数T,代表测试数据的组数。每组数据中两个整数L,R。其中T≤50,L 输出 共T行,共有多少个7。 样例输入 样例输出 提示 第一组样例中1到10中,只有7被计数,它十进制下有7并且是7的倍数,所以被计数2次。第二组样例中47有1个7,49可以被7整除2次,所以共被计数3次。 B.编译错误 时间限制: 3s 描述 在程序员编写程序的时候,通常会引用其他文件,而引用的文件也会引用其它的头文件。但是出现循环引用的现象编译时便会报错。例如A引用了B,B引用了C,C引用了A,那么就产生了循环引用(Circular reference)。考虑另外一个情况,A引用了B和C,B引用D,C引用D,虽然D被引用了两次,但是没有出现循环引用。 输入 第一行是一个整数T,代表测试数据的组数。每组数据中第一行是一个整数n,代表有多少个引用关系。接下来n行每行有2个字符串a,b,用空格分隔,代表a引用了b。其中T≤50, n≤105,每个字符串长度不超过100。 输出 共T行。若不会产生编译错误则输出Passed,否则输出Failed。 样例输入 样例输出 C.做操的时候要排好队 时间限制: 3s 描述 同学们在做早操时,应该按照身高从低到高排好队。但是总是有人不好好排队,老师在审查时会对没有排好的队伍扣除一定的分数。扣的分数被定义为,找到三个人Ai,Aj,Ak,其中i 输入 第一行是一个整数T,代表测试数据的组数。每组数据中第一行是一个整数n,代表有一共有多少个人。第二行共有n个整数,代表n个人的身高。其中T≤50,n≤105,每个数的大小不超过1000。 输出 共T行。扣除的分数。 样例输入 样例输出 D.判重 时间限制: 3s 描述 小七初始有n个数的样本集。现在又新加了m个数,他想知道这m个数是否已经在这n个数之中了。但是他判断是否有重复的方式和常人有些不同。对于样本集的任意一个数x,他先将x二进制的第2, 5, 7, 10, 13, 14, 17, 18位取反,生成新的8个数。例如x是7(00111),那么第一个数就是5(00101),第二个数是23(10111)......依次类推。然后将他表格上这8个数的位置全部变为1(初始整个表格全部为0)。 判断重复时,若一个数x产生的8个数,在表格全部为1,就认为这个数x和样本集的数有重复,否则认为没有重复。 输入 输入T,代表T组数据。每组数据初始输入n, m。代表n个样本以及m个需要判断的数。接下来n+m行是n个样本以及m个需要判断的数,样本在前。对于这m个数,每个数输出yes 或者no。m组数据相互独立,即这m个数都不会新加入到样本集。其中T≤50, n,m≤105。 输出 共T行,每行共m个字符串,重复输出yes,否则输出no 样例输入 样例输出 E.最长上升字串 时间限制: 3s 描述 给定n个整数,对其进行m次查询。每次查询是一个围l到r,求出l到r 的最长上升连续子串。上升连续子串的定义为一个连续的子串且严格递增。 输入 第一行是一个整数T,代表测试数据的组数。每组数据中第一行是一个整数n,m,代表有一共有n个人,m个查询。第二行共有n个整数,接下来m行是m 次查询,每行两个整数l,r。 输出 共T行,每行m个整数,代表最长上升连续字串。其中T≤50,m≤105,每个数的大小不超过109。 样例输入 样例输出 F.雄伟的城堡 时间限制: 3s 描述 在一个群岛上,有一个富可敌国的大富翁。他打算在这个群岛上建造一个最大城堡,也就是群岛上最大的岛屿。 输入 第一行是一个整数T,代表测试数据的组数。每组数据中第一行是两个整数n,m,代表地图的大小。接下来n行每行共m个整数。0代表海洋,1代表陆地。其中T≤50,n,m≤200。 输出 共T行,最大的面积。 样例输入 样例输出 G. 然后打5 时间限制: 5s 描述 《炉石传说》是一款考验技(shen)术(chou)的电子游戏,即使你没有玩过这个游戏也没有关系。《炉石传说》里有一萨满卡牌叫做连环爆裂,它的效果是等概率的造成3-6点伤害。而游戏获胜的条件是将对方英雄的血量全部打掉。例如对方英雄还有5点生命值,你有1连环爆裂,那么你获胜的概率为0.5。在本题中你无需考虑法力值消耗。 输入 第一行是一个整数T,代表测试数据的组数。接下来的T行每行有2个整数n,h,n代表你一共可以释放的连环爆裂的个数,h代表敌方英雄的血量。其中T≤50,n≤5000,h≤30000。 输出格式 共T行,每行是一个小数,保留到小数点后6位。 样例输入 样例输出