20250705
# d = []
# p = []
# f = []
# for i in range(25):
# p = list(map(int, input().split()))
# d.append(p)
# f.append(p)
# for i in range(1, 24):
# for j in range(1, 24):
# k = 0
# if f[i][j] == 0:
# for x in range(3):
# for y in range(3):
# if f[i+x-1][j+y-1] == 1:
# k += 1
# else:
# pass
# if k == 3:
# d[i][j] = 1
# else:
# pass
# else:
# for x in range(-1, 2):
# for y in range(-1, 2):
# if f[i+x][j+y] == 1:
# k += 1
# else:
# pass
# k -= 1
# if k>=4 or k<=1:
# d[i][j] = 0
# else:
# pass
# for i in range(25):
# for j in range(25):
# print(d[i][j], end=' ')
# print()
# d=[]
# p=[]
# for i in range(100):
# for j in range(100):
# p.append(0)
# d.append(p)
# p=[]
# for k in range(4):
# x1, x2, y1, y2=map(int, input().split())
# for x in range(x2, y2):
# for y in range(x1, y1):
# d[x][y]=1
# f=0
# for i in range(100):
# for j in range(100):
# if d[i][j]==1:
# f+=1
# else:
# pass
# print(f)
p=[]
d=[]
n=int(input())
for i in range(n):
for j in range(n):
p.append(0)
d.append(p)
p=[]
x=0
y=0
k=0
f=1
while f<=n*n:
if k==0:
if y<n and d[x][y]==0:
d[x][y]=f
y+=1
f += 1
else:
k=1
x+=1
y-=1
elif k==1:
if x<n and d[x][y]==0:
d[x][y]=f
x+=1
f += 1
else:
k=2
y-=1
x-=1
elif k==2:
if 0<=y and d[x][y]==0:
d[x][y]=f
y-=1
f += 1
else:
k=3
x-=1
y+=1
else:
if 0<=x and d[x][y]==0:
d[x][y]=f
x-=1
f += 1
else:
k=0
y+=1
x+=1
for i in range(n):
for j in range(n):
print(d[i][j], end=' ')
print()2회 조회

