dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
n = int(input())
f = int(input())
g = [[-1] * (n) for _ in range(n)]
turn = [-1] * (n**2-1)
iter = 0
maxiter = 0
i = 0
dirc = 0
while True:
if i == len(turn):
break
turn[i] = dirc%4
if iter == maxiter:
iter = 0
dirc += 1
if turn[i] == 1 or turn[i] == 3:
maxiter += 1
else:
iter += 1
i += 1
sx, sy = n//2, n//2
nn = 1
g[sx][sy] = nn
# f == 1 인 경우
xans = yans = n//2 + 1
for j in range(len(turn)):
nn += 1
sx, sy = sx + dx[turn[j]], sy + dy[turn[j]]
g[sx][sy] = nn
if nn == f:
xans, yans = sx + 1, sy + 1
for j in range(n):
for k in range(n):
print(g[j][k], end=' ')
print()
print(xans, yans)
f가 1인 경우를 생각하지 않아서 틀렸다
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
n = int(input())
f = int(input())
g = [[-1] * (n) for _ in range(n)]
turn = [-1] * (n**2-1)
iter = 0
maxiter = 0
i = 0
dirc = 0
while True:
if i == len(turn):
break
turn[i] = dirc%4
if iter == maxiter:
iter = 0
dirc += 1
if turn[i] == 1 or turn[i] == 3:
maxiter += 1
else:
iter += 1
i += 1
sx, sy = n//2, n//2
nn = 1
g[sx][sy] = nn
for j in range(len(turn)):
nn += 1
sx, sy = sx + dx[turn[j]], sy + dy[turn[j]]
g[sx][sy] = nn
if nn == f:
xans, yans = sx + 1, sy + 1
for j in range(n):
for k in range(n):
print(g[j][k], end=' ')
print()
print(xans, yans)
처음에 이런 식으로 xans, yans 를 초기화하지 않아서 nameerror 남