코테/BOJ
백준 7562 [나이트의 이동] 파이썬
동 캄
2025. 2. 20. 00:08
반응형
https://www.acmicpc.net/problem/7562
간단한 BFS문제였는데, 바보처럼 한참을 해맸다. pop(0)인데, pop()으로 코드를 작성했었다..
# 백준 7562 나이트의 이동
dr=[-2,-1,1,2,2,1,-1,-2]
dc=[1,2,2,1,-1,-2,-2,-1]
import sys
T=int(sys.stdin.readline().rstrip())
for _ in range(T):
N=int(sys.stdin.readline())
visited=[[10**6]* N for _ in range(N)]
start_r,start_c=map(int,sys.stdin.readline().split())
goal_r,goal_c=map(int,sys.stdin.readline().split())
q=[[start_r,start_c]]
visited[start_r][start_c]=0
while q:
curr_r,curr_c=q.pop(0)
if curr_r==goal_r and curr_c==goal_c:
print(visited[curr_r][curr_c])
break
for i in range(8):
R=curr_r+dr[i]
C=curr_c+dc[i]
if 0<=R<N and 0<=C<N:
if visited[R][C]>visited[curr_r][curr_c]+1:
visited[R][C]=visited[curr_r][curr_c]+1
q.append([R,C])
반응형