n = int(input())
a = [[0 for j in range(n)] for i in range(n)]
# 先赋值左对角线1~4
for i in range(n):
a[i][i] = i + 1
# 赋值左对角线下面的部分,以"列"为大方向从n-2~0,逆方向,"行"为小方向依次赋值j+1~n-1,正方向
for j in range(n - 2, -1, -1):
for i in range(j+1, n):
a[i][j] = a[i][j + 1] + a[i - 1][j]
#赋值做对角线上面的部分,以"列"为大方向从1~n-1,正方向,"行"为小方向依次赋值j-1~0,逆方向
for j in range(1, n):
for i in range(j-1, -1,-1):
a[i][j] = a[i][j - 1] + a[i+1][j]
#打印输出
for i in range(n):
for j in range(n):
print('%5d' % a[i][j], end='')
print()
/**************************************************************
Problem: 1385
User: admin
Language: Python
Result: Accepted
Time:94 ms
Memory:34480 kb
****************************************************************/