만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

나이트 이동: 골드 에디션

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N×N 체스판에서 나이트가 시작 칸에서 목표 칸까지 이동하는 최소 횟수를 구합니다.
난이도

쉬움10점 중 3점

유형
BFS, 행렬
정답자
아직 제출이 없습니다

문제

크기가 N×NN \times N인 체스판이 있다. 행과 열은 1부터 NN까지 번호가 매겨져 있다. 나이트가 R1R_1행 C1C_1열 칸에서 출발하여 R2R_2행 C2C_2열 칸으로 가려고 한다. 나이트를 출발 칸에서 도착 칸까지 최소 횟수로 이동시키는 데 필요한 이동 횟수를 구하라.

나이트는 한 축으로 2칸, 다른 축으로 1칸 이동한다. 나이트가 (A,B)(A, B)에 있으면 (A−2,B−1)(A-2, B-1), (A−2,B+1)(A-2, B+1), (A+2,B−1)(A+2, B-1), (A+2,B+1)(A+2, B+1), (A−1,B−2)(A-1, B-2), (A+1,B−2)(A+1, B-2), (A−1,B+2)(A-1, B+2), (A+1,B+2)(A+1, B+2) 중 한 칸으로 이동할 수 있다. 나이트는 체스판 밖으로 나갈 수 없다.

NN, R1R_1, C1C_1, R2R_2, C2C_2가 주어질 때, (R1,C1)(R_1, C_1)에서 (R2,C2)(R_2, C_2)까지 나이트가 이동하는 데 필요한 최소 횟수를 구하라.

입력

첫 줄에는 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 다섯 정수 NN (3≤N≤203 \le N \le 20), R1R_1, C1C_1, R2R_2, C2C_2 (1≤R1,C1,R2,C2≤N1 \le R_1, C_1, R_2, C_2 \le N)가 한 줄에 주어진다.

출력

각 테스트 케이스마다 "Case #i:"를 출력한다. 여기서 ii는 1부터 시작하는 테스트 케이스 번호이다. 이어서 같은 줄에 (R1,C1)(R_1, C_1)에서 (R2,C2)(R_2, C_2)까지 필요한 최소 이동 횟수를 출력한다. 항상 이동이 가능하다고 가정한다. 각 테스트 케이스의 출력 뒤에는 빈 줄을 하나 남긴다.

예제1

  1. 예제 1

    입력
    2
    5 1 1 2 3
    5 1 1 2 2
    
    예상 출력
    Case #1: 1
    
    Case #2: 4