训练赛补题

训练赛补题

A(待补)

B(待补)

C(待补)

D

要求出在每天吃两种不同的糖果的情况下三堆糖果能吃的最多天数。就会说最后只能剩下一种糖果。就要保证三堆中的最少的糖果先被吃完。所以需要先排序。为了保证先吃完最少的将最多的与最少的相抵消。此时会出现两种情况有:
1.如果最少的被吃完但另外两堆的数量相等。那么接下来吃那两堆即可。
2、如果最少的没被吃完那么为了保证吃的更多应该将最少的那堆分成平均的两堆与那两堆相抵消,之后再吃那两堆即可。
执行的时候需要考虑最少的那堆与另外两堆的差值的关系。
两种情况最后都需要加上中间那堆的数量。

E

先将这些分数进行排序,然后需要自己先确定一个最高分得到金牌,之后看后面是否有与其分数相同的人,有的话金牌数增加,但一定不会超过总人数的一半,之后在金牌的基础上继续往后面找同样设置最后一位金牌得主的下一位为第一位银牌得主。先将分数一样的计数完之后如果最后金牌的数量比银牌的多那么继续将下一位记作银牌进行查找。如果这一过程没有超过人数的一半的话那么进行铜牌的计数。

F(待补)

G

题目要求1的前面必须有0,这就要求第一个判断的语句(if语句)必须要先判断这一串数字的第一个数是否为0,随后为判断0后面的数字是否为1。并同时设定一个变量,这两个if语句对他的改变相互抵消,因为只有整个过程这二者的影响一直相互抵消才能符合要求。否则不符合要求。

H

这道题目的是确保把所有的?变为a,b,c,之后保证相同的字符不相邻。只需要考虑一下当问号的前面和后面都不为a或b或c的情况下将其变为相应的a,b,c即可。注意当?在第一个时需要额外考虑,此时只需要考虑他后面的一项即可。

I

要求:把小于输入的数的所有正整数进行是否只由0,1组成的判断。
(做的时候的有个小插曲是不会多组输入)
方法:
(有两种方法都涉及穷举)都是将所有的方案都列举出来,可以我们自己把所有可能的二进制数字写出来,也可以使用“深度优先搜索”即dfs。这里用所有的情况填补十位数即可。

J

就是计算梯形面积的题(一开始以为是还有直角三角形的情况后来发现面积公式已经包含了所有的情况并且题目中已经确定了没有面积为0的情况)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值