先说明一下:本人第一次写全题解,还请各位大佬指点
这次欢乐赛个人难度中等偏下,废话不多说正片开始
题目列表传送门
T1 50!
官方难度:入门 知识点:输入输出
纯属签到题没啥可说的,直接输出就行了。
C++ Code:
T2 农场修缮
官方难度:入门 知识点:循环结构
把竖直道路的宽度用sort从小到大排序求出最小值,因为剩余面积与道路的位置无关,所以可以假设水平道路在最上方,竖直道路在最左边,剩余部分为一个长方形,用(行数n-水平道路宽度a)*(列数m-竖直道路宽度)求出剩余面积。
C++ Code:
T3 赛马大会
官方难度:入门 知识点:循环结构
依题意模拟即可,可以边输入对手的马匹的速度值便判断小明的输赢
C++ Code:
T4 小明和藏宝库
官方难度:入门 知识点:循环嵌套
用一个数组存每个密码的出现次数,因为每个宝箱的密码互不相同,所以如果一个密码出现次数为n,则这个密码可以解锁全部宝箱。
C++ Code:
T5 指针夹角
官方难度:入门 知识点:格式化输入输出
这个题目还是要考察亿点数学知识的。
设指针指向12为0°(下同),夹角度数可以表示为 | 时针度数-分针度数 | (如果该度数大于180°,则用360°-该度数) 。注意,这道题中的时针不是在一个小时内一直指着一个数不动的那种,会根据分针移动,所以时针度数为 一大格的度数30°*(小时数+分钟数/60分钟)。分针度数不多说了,就是 一小格的度数6°*分钟数。
C++ Code:
T6 小明的ACM罚时
官方难度:普及- 知识点:结构体排序
这道题比以上5道题还是难一些的,但也没有多难。
阅读题目,不难发现,一道题目的第i次提交(i>1)和第i-1次提交没有任何的关系(因为通过的时间指的是当前的时间,而不是两次提交的间隔时间),所以遍历每一次提交记录,如果通过了罚时就增加通过的时间,如果没通过罚时就增加15分钟。然后在结构体里存该队的通过题数、罚时和队伍编号,按照题目要求排序就行了。
C++ Code:
本次全题解结束,再见~