输入两个整数 n 和 m,输出一个 n 行 m 列的矩阵,将数字 1 到 n×m 按照回字蛇形填充至矩阵中。
具体矩阵形式可参考样例。
输入格式
输入共一行,包含两个整数 n 和 m。
输出格式
输出满足要求的矩阵。
矩阵占 n 行,每行包含 m 个空格隔开的整数。
数据范围
1≤n,m≤100
输入样例:
3 3
输出样例:
1 2 3
8 9 4
7 6 5
n,m=map(int,input().split(' '))
dx, dy = [0, 1, 0, -1], [1, 0, -1, 0]
ans = [[0 for i in range(m)]for j in range(n)]
x,y=0,0
t=0
for i in range(1,m*n+1):
ans[x][y]=i
if x+dx[t]<0 or x+dx[t]>=n or y+dy[t]<0 or y+dy[t]>=m or ans[x+dx[t]][y+dy[t]]>0:
t=(t+1)%4
x,y=x+dx[t],y+dy[t]
for i in range(n):
for j in range(m):
print(ans[i][j], end = ' ')
print()