刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

拼点游戏
C和S两位同学一起玩拼点游戏。有一堆白色卡牌和一堆蓝色卡牌,每张卡牌上写了一个整数点数。C随机抽取n张白色卡牌,S随机抽取n张蓝色卡牌,他们进行n回合拼点,每次两人各出一张卡牌,点数大者获得三颗巧克力,小者获得一颗巧克力,如果点数相同,每人各得二颗巧克力,使用过的卡牌不得重复使用。已知C和S取到的卡牌点数,请编程计算S最多和最少能得到多少颗巧克力。
时间限制:1000
内存限制:65536
输入
输入包含多组测试数据。 每组测试数据的第一行是一个整数n(1<=n<=1000),接下来一行是n个整数,表示C抽到的白色卡牌的点数,下一行也是n个整数,表示S抽到的蓝色卡牌的点数。 输入的最后以一个0表示结束。
输出
对每组数据,输出一行,内容是两个整数用空格格开,分别表示S最多和最少可获得的巧克力数。
样例输入

3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0

样例输出

9 5
4 4
4 4

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】本题是一道编程题,要求计算S同学最多和最少能得到的巧克力数。首先,从输入中读取n,表示C同学抽取的白色卡牌和S同学抽取的蓝色卡牌的数量。如果n为0,则结束程序。然后,读取C同学抽取的白色卡牌的点数和S同学抽取的蓝色卡牌的点数,将它们分别存储到C_cards和S_cards列表中。接下来,对C_cards和S_cards进行降序排序,因为点数越大,获得巧克力数量越多。然后,初始化max_chocolates和min_chocolates为0,分别表示S同学最多和最少能得到的巧克力数。最后,遍历C_cards和S_cards,比较对应位置的点数,根据规则计算巧克力数,并更新max_chocolates和min_chocolates。最后,输出max_chocolates和min_chocolates,用空格隔开。注意,本题的时间限制和内存限制较小,需要优化算法,避免超时和内存溢出。在本题中,由于n的范围较小,因此不需要使用复杂的算法,直接遍历比较即可。
创作类型:
原创

本文链接:拼点游戏 C和S两位同学一起玩拼点游戏。有一堆白色卡牌和一堆蓝色卡牌,每张卡牌上写了一个整数点数。C

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share