题解
2025-07-05 20:25:34
发布于:浙江
6阅读
0回复
0点赞
def spiral_matrix(m, n, matrix):
directions = [(1, 0), (0, 1), (-1, 0), (0, -1)]
direction_index = 0
row, col = 0, 0
visited = [[False for _ in range(n)] for _ in range(m)]
result = []
for _ in range(m * n):
result.append(str(matrix[row][col]))
visited[row][col] = True
next_row = row + directions[direction_index][0]
next_col = col + directions[direction_index][1]
if (0 <= next_row < m and 0 <= next_col < n and not visited[next_row][next_col]):
row, col = next_row, next_col
else:
direction_index = (direction_index + 1) % 4
row += directions[direction_index][0]
col += directions[direction_index][1]
return " ".join(result)
m, n = map(int, input().split())
matrix = []
for _ in range(m):
matrix.append(list(map(int, input().split())))
print(spiral_matrix(m, n, matrix))
这里空空如也
有帮助,赞一个