源码附上,思路就是按行列遍历
import copy
def clockwise(matrix, x, y, r):
x = x - 1
y = y - 1
temp = copy.deepcopy(matrix)
for i in range(x-r, x+r+1):
row = matrix[i]
row = row[y-r:y+r+1]
index = 0
for j in range(x-r, x+r+1):
temp[j][y-r+x+r-i] = row[index]
index += 1
return temp
def counterclockwise(matrix, x, y, r):
x = x - 1
y = y - 1
temp = copy.deepcopy(matrix)
for i in range(x-r, x+r+1):
row = matrix[i]
row = row[y-r:y+r+1]
index = 2*r
for j in range(x-r, x+r+1):
temp[j][y-r+i-(x-r)] = row[index]
index -= 1
return temp
n, m = map(int, input().split())
matrix = []
num = 1
for i in range(n):
row = []
for j in range(n):
row.append(num)
num += 1
matrix.append(row)
for _ in range(m):
x, y, r, z = map(int, input().split())
if z == 0:
matrix = clockwise(matrix, x, y, r)
else:
matrix = counterclockwise(matrix, x, y, r)
for row in matrix:
print(' '.join(map(str, row)))
希望有用python通过的兄弟们分享一下代码,非常感谢。
因为要用python参加一个比赛,所以非python不可。
另外,请问洛谷不管是什么语言都是同一个时间限制吗?