小慕正在设计一款名为“小猫钓鱼”的扑克牌游戏。扑克牌用数字1到13表示(分别对应A、2、3、…、J、Q、K),不考虑花色。游戏开始时,小慕和对手各获得n张牌,按给定顺序排成,这些牌背面朝上、正面朝下放置,队列的第一个元素是背面的第一张牌。 游戏规则如下: 1. 出牌与收牌 - 初始出牌时,小慕先出牌,打出的牌正面朝上放在桌面的最底部,然后对手出牌,正面朝上放在小慕的牌张上面,双方轮流出牌,直到触发收牌或者任意一方牌出完。 - 如果玩家出牌后触发了收牌,则把收到的一摞牌作为整体后,背面朝上、正面朝下放到现有牌的底部,然后当前收牌的玩家继续出牌。 2. 收牌规则 - 若当前打出的牌点数,与桌面上之前某张牌的点数相同,则触发收牌,。 - 若当前打出的牌是J(即点数11),并且此时桌面上已有至少一张牌(不含当前这张),则当前玩家触发收牌,收牌的范围是桌面上的所有牌。若桌面上原本没有牌,则J仅作为普通牌放到桌面上,不触发特殊效果。 3. 游戏结束条件 - 若某位玩家在自己回合开始时已经没有牌可出,则游戏立即结束,如果此时对方还有余牌,则对方获胜,如果对方也无牌,则平局。 - 若在模拟过程中,出牌总次数超过一个上限(10000次)仍未结束,则认为游戏进入死循环,判定为平局。
提示:带虚线的词点一下有通俗解释。
输入描述
甲的初始牌队列和乙的初始牌队列,甲乙初始手牌数量相等,均为整数n(1≤n≤100)。
输出描述
一方获胜时,输出获胜方手中背面朝上最上方的那张牌的数值。若平局,如果桌面无牌则输出0,否则输出当前桌面上正面朝上的最上方的那张牌的数值。
示例
示例 1
输入
2 1 2 10 12
输出
12
说明:- 甲的牌堆: [1,2] - 乙的牌堆: [10,12] - 出牌顺序: 甲出1,乙出10,甲出2,乙出12,甲无牌可出,乙无余牌,游戏结束,平局。 - 桌面牌堆为[1,10,2,12]。 - 平局,输出桌面牌堆正面朝上最上方牌的数值:12。
示例 2
输入
2 1 2 1 2
输出
1
说明:- 甲的牌堆: [1,2] - 乙的牌堆: [1,2] - 出牌顺序: 1. 甲出1,剩余[2],桌面: [1]。 2. 乙出1,剩余[2],匹配桌面的1,拿走[1,1],桌面: [],放回乙牌堆:乙牌堆变为[2,1,1]。 3. 乙出2,剩余[1,1],桌面: [2]。 4. 甲出2,剩余[],匹配桌面的2,拿走[2,2],桌面: [],放回甲牌堆:甲牌堆变为[2,2]。 5. 甲出2,剩余[2],桌面: [2]。 6. 乙出1,剩余[1],桌面: [2,1]。 7. 甲出2,剩余[],匹配桌面的2,拿走[2,1,2],桌面: [],放回甲牌堆:甲牌堆变为[2,1,2]。 8. 甲出2,剩余[1,2],桌面: [2]。 9. 乙出1,剩余[],桌面: [2,1]。 10. 甲出1,剩余[2],匹配桌面的1,拿走[1,1],桌面: [2],放回甲牌堆:甲牌堆变为[2,1,1]。 11. 甲出2,剩余[1,1],匹配桌面的2,拿走[2,2],桌面: [],放回甲牌堆:甲牌堆变为[1,1,2,2]。 12. 甲出1,剩余[1,2,2],桌面: [1]。 13. 乙无牌可出,甲还有余牌,甲获胜。 - 游戏结束,甲牌堆剩余[1,2,2],输出:1。
示例 3
输入
4 1 2 11 4 10 12 2 1
输出
12
说明:- 甲的牌堆: [1,2,11,4] - 乙的牌堆: [10,12,2,1] - 出牌顺序: 1. 甲出1,剩余[2,11,4],桌面: [1]。 2. 乙出10,剩余[12,2,1],桌面: [1,10]。 3. 甲出2,剩余[11,4],桌面: [1,10,2]。 4. 乙出12,剩余[2,1],桌面: [1,10,2,12]。 5. 甲出11,剩余[4],触发特效,拿走[1,10,2,12,11],桌面: [],放回甲牌堆:甲牌堆变为[4,1,10,2,12,11]。 6. 甲出4,剩余[1,10,2,12,11],桌面: [4]。 7. 乙出2,剩余[1],桌面: [4,2]。 8. 甲出1,剩余[10,2,12,11],桌面: [4,2,1]。 9. 乙出1,剩余[],匹配桌面的1,拿走[1,1],桌面: [4,2],放回乙牌堆:乙牌堆变为[1,1]。 10. 乙出1,剩余[1],桌面: [4,2,1]。 11. 甲出10,剩余[2,12,11],桌面: [4,2,1,10]。 12. 乙出1,剩余[],匹配桌面的1,拿走[1,10,1],桌面: [4,2],放回乙牌堆:乙牌堆变为[1,10,1]。 13. 乙出1,剩余[10,1],桌面: [4,2,1]。 14. 甲出2,剩余[12,11],匹配桌面的2,拿走[2,1,2],桌面: [4],放回甲牌堆:甲牌堆变为[12,11,2,1,2]。 15. 甲出12,剩余[11,2,1,2],桌面: [4,12]。 16. 乙出10,剩余[1],桌面: [4,12,10]。 17. 甲出11,剩余[2,1,2],触发J特效,拿走[4,12,10,11],桌面: [],放回甲牌堆:甲牌堆变为[2,1,2,4,12,10,11]。 18. 甲出2,剩余[1,2,4,12,10,11],桌面: [2]。 19. 乙出1,剩余[],桌面: [2,1]。 20. 甲出1,剩余[2,4,12,10,11],桌面: [2,1]。 21. 甲出2,剩余[4,12,10,11,1],匹配桌面的1,拿走[1,1],桌面: [2],放回甲牌堆:甲牌堆变为[2,4,12,10,11,1,1]。 22. 甲出4,剩余[12,10,11,1,1,2,2],匹配桌面的2,拿走[2,2],桌面: [],放回甲牌堆:甲牌堆变为[4,12,10,11,1,1,2,2]。 23. 乙无牌可出,甲还有余牌,甲获胜。 - 游戏结束,甲牌堆剩余[12,10,11,1,1,2,2],输出:12。
时间限制 1000 ms · 内存限制 128 MB