코테/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])
반응형