题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
按蛇形顺序构造矩阵,第一行先放1,第二行放2再退回第一行放3,第三行放4再退回第二行放5再退回第一行放6,以此类推。
while True:
try:
N = int(input()) # 行数
tri = [] # 用于存储矩阵
num = 1 # 起始数字
# 按45度斜线行构造蛇形矩阵
for i in range(N):
tmp = [num]
num += 1 # 每放完一个数字加1
tri.append(tmp)
if i > 0:
for j in reversed(range(i)): # 向上退一行
tri[j].append(num)
num += 1
# Print the result
for i in range(N):
print(*tri[i])
except:
break