代码正确,但是全部re,估计是输入后可能需要回车确认导致re,怎么该
  • 板块P1838 三子棋I
  • 楼主ErgouTree
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/30 19:58
  • 上次更新2023/12/30 22:20:00
查看原帖
代码正确,但是全部re,估计是输入后可能需要回车确认导致re,怎么该
1216518
ErgouTree楼主2023/12/30 19:58
put = []
for x in input():
    put.append(int(x))
xiao_a_put_list = []
uim_put_list = []

x = 0
while x < len(put):
    xiao_a_put_list.append(put[x])
    if x + 1 < len(put):
        uim_put_list.append(put[x + 1])
    x += 2


row1 = [1,2,3]
row2 = [4,5,6]
row3 = [7,8,9]
#xiaoa下为1,uim下为2
matrix = [
    [0, 0, 0],
    [0, 0, 0],
    [0, 0, 0]
]


for x in xiao_a_put_list:
    if x in row1:
        matrix[0][x-1] = 1
    if x in row2:
        matrix[1][x-3-1] = 1
    if x in row3:
        matrix[2][x-6-1] = 1

for x in uim_put_list:
    if x in row1:
        matrix[0][x-1] = 2
    if x in row2:
        matrix[1][x-3-1] = 2
    if x in row3:
        matrix[2][x-6-1] = 2

def check_winner(player):
    # Check rows
    for row in matrix:
        if row.count(player) == 3:
            return True

    # Check columns
    for col in range(3):
        if all(matrix[row][col] == player for row in range(3)):
            return True

    # Check diagonals
    if all(matrix[i][i] == player for i in range(3)) or all(matrix[i][2 - i] == player for i in range(3)):
        return True

    return False

if check_winner(1) == True:
    print("xiaoa wins.")
elif check_winner(2) == True:
    print("uim wins.")
else:
    print("drew.")

2023/12/30 19:58
加载中...