牛客华为HJ35蛇形矩阵

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
a = int(input())
# print(a)
result = []
pre_0 = 1
for i in range(a): # 先把每行第一个确定好,然后用最后一行+1 补充到上面一行,迭代。
path = []
path.append(i+pre_0)
pre_0 = path[0]
result.append(path)
# print(path)
# print(result)
below = []
for i in range(a-1,-1,-1): # 用最后一行+1 补充到上面一行,迭代。
if below != []:
result[i].extend(below)
below = map(lambda x:x+1,result[i])
# print(below) # 可见 <map object at 0x7fbbf85eff10> 要主动转list。
else:
below = map(lambda x:x+1,result[i])
# print(result)
# 输出
for value in result:
print(' '.join(map(str,value)))