S15239 白瞻硕
一,题目报告
一共四道题,每题100分,得了64分。
二、解题报告,赛中情况。
首先第一题:
刚看到做饭这道题,感觉这道题没有什么算法,感觉很简单,于是自己打了几行代码,结果发现是错的,思路整体是对的,应该再加入一个高精度算法,小时*360化成秒,分钟*60化成秒,再做加减法就对了。(粘错代码了T口T);
题目大意:小可要在达达回家前做好饭,她需要准备菜和做饭,小可能不能在达达回家前做完饭?
解析:
第5行:定义现在的实际时间,再定义达达回家的时间,第6行,第7行:输入达达回......和现在的时间,第8行输入小可准备菜的时间p和小可做完饭的时间p;第9行就是我说的执行类似于高精度算法的代码,接下来判断是否能做完饭,能做完输出Yes,做不完输出No。(我对了64%,就对了这64%)
以下是错误代码:
以下是正确代码:
评价标准
这道题开始看到就有点读不懂题,于是自己把自己理解的部分写了下来,因为理解不全,不理解题意,所以得了个0分。
题目大意:给定一个长度为 的数组 ,
定义数组 的评价标准为: 最大值-最小值 。
小可同学觉得问题过于简单。然后定义了一种操作:给定一个操作值 ,然后任意从数组中选择一个数字 ,可以将数字 加上 ,或者减去 ,之后得到一个新的数组,并使得新数组的评价标准最小。最终输出最小的评价标准。
解析:
1.若最大值减k了以后,不再是最大值,那么次大值就变成了最大值;
2.若最小值加k了以后,不再是最小值,那么次小值就变成了最小值。
以下是正确代码:
第三题:
差不多3/2没读懂,所以基本没写什么代码,读懂的部分虽然明白了,但是也不知道该怎么去实现,所以这两道题我停留的时间不长,应该只有30分钟吧。(看到第3题和第4题时,感觉整个宇宙都塌了T口T口T口T口T口T)
第3题题目大意:
做饭之前需要先购买足够的新鲜的食材,小可来到了超市。
小可列了一个购买清单,总共有 n 个食材需要购买,在超市中第 i个食材的价格是 vi。
今天超市每满两个商品,都可以进行活动,使用两个商品中最高价格购买当前这两件商品。
小可在线购买了 k 张超市折扣券,每两件商品可以使用一张折扣券,使用两个商品中最低价格购买当前这两件商品。
注意:商品不能重复参加活动。
请问小可购买清单中所有物品都购买后,最低花费多少元。
解析:
超市购买价格最大价格和次大价格应该使用超市促销
最少价格和最大价格应该使用优惠卷。
以下是第3题的正确代码:
第四题:
第4题题目大意:
小可为了让达达吃起来最好吃,已经给食物提前进行了标记,标记分为两种:大写字母
和 ?
,相同大写字母表示两个食物搭配起来吃最美味,?
则表示搭配任何一个食物吃都非常美味,但是达达有习惯,一旦使用当前这种食物搭配另一个食物,达达就不会再去搭配其他食物吃,也就是说每个?
确定与某个食物搭配后,则不能再与其他食物搭配食用。
现在请问小可制作的饭菜中最多有多少种不同的搭配。
解析:
首先统计相同字符的个数,然后把每个相同的大写字母配对一下,?号最好和没有相同的大写字母的那些字母配对,这样可以最大化满足题意,接着把各个情况都尝试一下,就可以了。
以下是第四题的正确代码: