2.拉马车 - 蓝桥云课 (lanqiao.cn)
输入描述
输入为2行,2个串,分别表示A、B双方初始手里的牌序列。我们约定,输入的串的长度不超过30。2J9A7QA6Q6889977
输出描述
输出为 1行,1个串,表示A先出牌,最后赢的一方手里的牌序。
import os
import sys
# 请在此输入您的代码
A=list(input())
B=list(input())
table=[]#记录在坐桌子上的牌
def put_card(a,b):
global table
if not a: #如果a为空,返回b值
return b
if not b:
return a
card=a[0]
table.append(a[0])
a.pop(0)
win_add=[] #记录赢牌
if table.count(card)>1: #如果桌面相同的牌有两张,则赢牌
idx=table.index(card)
win_add=table[idx:] #牌是往后排的,最先出的牌再列表最后
table=table[:idx] #桌面剩余牌
a.extend(win_add[::-1]) #题目说要返过来放
return put_card(a,b)
else:
return put_card(b,a) #没有赢牌则对手出牌
ans=put_card(A,B)
print(''.join(ans))