官方题解 | 欢乐赛#63 题解
赛纲介绍
本次题目的总体题目难度如下,各位选手可以借此评估一下自身的技术水平
题目编号 题目名称 题目难度 T1 皓仔的圣诞树 入门 T2 皓仔的活动安排 入门 T3 皓仔的温度计算 入门 T4 皓仔的巨大作物 入门 T5 皓仔的宝石项链 普及- T6 皓仔的进制转换 普及-
T1 皓仔的圣诞树
题目大意
按照题目样例输出,输出一个圣诞树的图形。
题解思路
将圣诞树每一行分别输出,并且一行结束之后记得输出换行,就可以得到这个图形。
参考代码
T2 皓仔的活动安排
题目大意
当外界噪音超过 606060 分贝的情况下, 皓仔决定外出去图书馆待一天学习文化课。
当外界噪音超过 404040 分贝,但是不超过 606060 分贝的情况下, 他会在家里进行训练。
如果噪音小于等于 404040 分贝,这安静的令人犯困, 皓仔决定上床睡一觉。
根据输入的数据输出皓仔今天的活动安排。
题解思路
多分支结构习题,输入数字之后使用if-else-if 的多分支结构进行严格的三选一,输出皓仔今天的活动安排。
参考代码
T3 皓仔的温度计算
题目大意
皓仔的暖气功耗取决于温度:
1.当气温大于 151515 摄氏度的情况,皓仔整天都不开暖气。
2.当气温等于 151515 摄氏度的情况下, 皓仔会 242424 小时打开取暖器,取暖器的基础功耗为 aaa 度电每小时。
3.当气温小于 151515 摄氏度的情况下,不仅会 242424 小时打开取暖器,气温每下降一度, 还需要在基础功耗的基础上额外消耗 bbb 度电每小时。
帮皓仔计算未来 nnn 天的总耗电量。
题解思路
一共有 nnn 天, 可以通过循环结构输入每一天的温度然后计算耗电量并且累加求和。
对于每一天输入的温度 xxx, 首先判断温度是否小于等于 151515, 小于等于 151515 摄氏度的情况下, 首先有 aaa 度的基础功耗, 并且在温度低于 151515 摄氏度的情况下, 还需要加上 (15−x)⋅b(15 - x) \cdot b(15−x)⋅b 的额外功耗。
记得最终每天的功耗是一小时的功耗 * 242424, 因为一天 242424 个小时暖气都在运行。
参考代码
T4 皓仔的巨大作物
题目大意
一株土豆植株可以产出 333 个土豆, 现在给定一个二维数组代表一片田地的种植情况。
对于一株植物,只要以该植物为中心的九宫格内, 总的植株数量不超过 222 个, 那么该植株就可以产出 333 倍的土豆数量。
请你帮皓仔计算一下他今年能够收获多少个土豆?
题解思路
本题可以直接枚举田地中的每一个土豆,对于当前的土豆,将其所在的九宫格进行一次枚举,得到九宫格内植株得到总数量。
总数量小于等于 222, 那么这是一个巨大作物,会得到 999 个土豆。
否则这是一个普通作物, 只有 333 个土豆。 将所有的土豆总数累加求和即可得到答案。
参考代码
T5 皓仔的宝石项链
题目大意
给定一个长度为 nnn 的数组,一共 mmm 次询问,每次在其中选择一段区间 [L,R][L, R][L,R],问区间内有几种不同的数字。
题解思路
每次查询需要对区间内数字进行去重计数,最简单的去重方法就是直接排序之后进行去重。当数组已经排序之后,相同数字会出现在一起,我们对于每个数字只在其第一次出现时候, 也就是 ai≠ai−1a_i \neq a_{i - 1}ai =ai−1 时进行计数, 最终可以得到去重之后的数字总数结果。
参考代码
T6 皓仔的进制转换
题目大意
输出三行, 分别输出 数字 xxx 的四进制, 八进制, 十六进制。(十六进制中超出 999 的数字使用大写字母来表示)
题解思路
二进制,八进制,十六进制都是特殊的,因为他们都是 222 的整数幂: 16=24,8=23,4=2216 = 2^4, 8 = 2^3, 4 = 2^216=24,8=23,4=22。
因此一个四进制位可以用两个二进制位来表示, 一个八进制位可以用三个二进制位来表示,一个十六进制位可以用四个二进制位来表示。
因此本题我们只需要按照每 2、3、42、3、42、3、4 个数字表示一位,在高位需要补上对应的前导零,就可以得到 xxx 对应的四进制,八进制,十六进制。
参考代码