Python-40分过不了啊,怎么办求助
查看原帖
Python-40分过不了啊,怎么办求助
509484
FrankieM楼主2022/6/12 22:20
def change(x, y, r, z):
    x -= 1
    y -= 1
    tmp = [[0 for i in range(2*r+1)] for j in range(2*r+1)]
    for i in range(x - r, x + r + 1):
        for j in range(y - r, y + r + 1):
            tmp[i - x + r][j - y + r] = array[i][j]
    if z == 0:
        for i in range(x - r, x + r + 1):
            for j in range(y - r, y + r + 1):
                array[x-y+j][x+y-i] = tmp[i-x+r][j-y+r]
    else:
        for i in range(x - r, x + r + 1):
            for j in range(y - r, y + r + 1):
                array[x+y-j][y-x+i] = tmp[i-x+r][j-y+r]


n, m = list(map(int, input().rstrip().split()))
array = [[n * (i - 1) + j for j in range(1, n+1)] for i in range(1, n+1)]
for _ in range(m):
    x, y, r, z = list(map(int, input().rstrip().split()))
    change(x, y, r, z)

for _ in array:
    print(*_)

2022/6/12 22:20
加载中...