题库首页 › 蓝桥杯大赛(Python) › 题目 14657

编程实现: Adam 和 Bob 在玩一种卡片接龙的游戏,他们各自有 n 张卡片,每张卡片写了一个号码,桌上还有一张写了号码 m 的卡片,他们会尽可能将手中的卡片进行接龙,游戏规则如下: (1)由 Adam 开始,双方轮流接龙; (2)接龙一方每次可以放置一张卡片到桌上,这张卡片必须比桌上的最小号码小 1,或者比桌上的最大号码大1,重复这个过程直到没有可以放置的卡片,然后轮到另一方接龙; (3)胜负判定: (3.1)如果一方率先将手中的卡片全部放置(手中的卡片数量为 0),则这一方获得胜利; (3.2)如果双方都还有卡片,且都不能再放置卡片,则手中卡片较少的一方获得胜利;如果卡片数量相等,则平局。 给定 Adam 和 Bob 各自的卡片数量 n,以及双方的卡片号码,桌上的卡片号码 m。请计算出接龙游戏胜利方的名字和他手中剩余卡片的数量,如果平局,则输出 Draw 和 -1。 例如:n = 4;Adam 手中 4 张卡片的号码是 5、7、9、2;Bob 手中 4 张卡片的号码是 3、6、10、4; m = 8,桌上卡片的号码是 8,初始由 Adam 开始,接龙情况如下: (1)Adam 手中有比桌上最小号码 8 小 1 的卡片 7,将卡片 7 放置到桌上,手中还有比桌上最大号码 8 大 1的卡片 9,将卡片 9 放置到桌上,此时手中还有卡片 5、2,没有符合接龙的卡片,轮到 Bob; (2)Bob 手中有比桌上最小号码 7 小 1 的卡片 6,将卡片 6 放置到桌上,手中还有比桌上最大号码 9 大 1的卡片 10,将卡片 10 放置到桌上,此时手中还有卡片 3、4,没有符合接龙的卡片,轮到 Adam; (3)Adam 手中有比桌上最小号码 6 小 1 的卡片 5,将卡片 5 放置到桌上,此时手中还有卡片 2,没有符合接龙的卡片,轮到 Bob; (4)Bob 手中有比桌上最小号码 5 小 1 的卡片 4,将卡片 4 放置到桌上,手中还有比桌上最小号码 4 小 1的卡片 3,将卡片 3 放置到桌上,此时手中卡片数量为 0,Bob 胜利。 输出 Bob 和 0。 输入描述: 第一行输入一个整数 n(2≤n≤1000),表示 Adam 和 Bob 的卡片数量; 第二行输入 n 个整数(1≤整数≤2000),表示 Adam 手中卡片的号码,整数之间以一个空格隔开; 第三行输入 n 个整数(1≤整数≤2000),表示 Bob 手中卡片的号码,整数之间以一个空格隔开; 第四行输入一个整数 m(1≤m≤2000),表示初始桌上的卡片号码。 输出描述: 第一行输出一个字符串,表示胜利方的名字,如果平局,则输出 Draw; 第二行输出一个整数,表示胜利方手中剩余卡片的数量,如果平局,则输出 -1。 样例输入: 4 5 7 9 2 3 6 10 4 8 样例输出: Bob 0

编程实现: Adam 和 Bob 在玩一种卡片接龙的游戏,他 题目配图编程实现: Adam 和 Bob 在玩一种卡片接龙的游戏,他 题目配图编程实现: Adam 和 Bob 在玩一种卡片接龙的游戏,他 题目配图编程实现: Adam 和 Bob 在玩一种卡片接龙的游戏,他 题目配图

正确答案:模拟:桌上区间[L,R]初始{m}。轮到某方时循环:手牌含L-1则打出且L--;否则含R+1打出且R++;都不能则换手。先出完者胜;双方都不能出则剩牌少者胜,相等平局。

试卷来源:202506(第16届)蓝桥杯Python编程青少组(选拔赛_中/高级)真题

本卷相关题目

在线做题 同科目题库