pypy3可过
查看原帖
pypy3可过
1245313
yyjyyjyyj楼主2025/1/13 14:31
n, m = map(int, input().strip().split())
arr = [[(i * n + j + 1) for j in range(n)] for i in range(n)]

for k in range(m):
    q = list(map(int, input().strip().split()))
    r = 2 * q[2] + 1
    x = q[0] - 1  # 转换为0索引
    y = q[1] - 1  # 转换为0索引
    direction = q[3]
    
    # 直接操作原数组进行旋转
    if direction == 0:  # 顺时针旋转90度
        for i in range(r // 2):
            for j in range(i, r - i - 1):
                temp = arr[x - q[2] + i][y - q[2] + j]
                arr[x - q[2] + i][y - q[2] + j] = arr[x - q[2] + r - j - 1][y - q[2] + i]
                arr[x - q[2] + r - j - 1][y - q[2] + i] = arr[x - q[2] + r - i - 1][y - q[2] + r - j - 1]
                arr[x - q[2] + r - i - 1][y - q[2] + r - j - 1] = arr[x - q[2] + j][y - q[2] + r - i - 1]
                arr[x - q[2] + j][y - q[2] + r - i - 1] = temp
    else:  # 逆时针旋转90度
        for i in range(r // 2):
            for j in range(i, r - i - 1):
                temp = arr[x - q[2] + i][y - q[2] + j]
                arr[x - q[2] + i][y - q[2] + j] = arr[x - q[2] + j][y - q[2] + r - i - 1]
                arr[x - q[2] + j][y - q[2] + r - i - 1] = arr[x - q[2] + r - i - 1][y - q[2] + r - j - 1]
                arr[x - q[2] + r - i - 1][y - q[2] + r - j - 1] = arr[x - q[2] + r - j - 1][y - q[2] + i]
                arr[x - q[2] + r - j - 1][y - q[2] + i] = temp

for w in range(n):
    print(*arr[w])

2025/1/13 14:31
加载中...