아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

나이트 이동: Black Edition

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

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

어려움10점 중 8점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

크기가 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≤10153 \le N \le 10^{15}), 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부터 시작하는 테스트 케이스 번호입니다. 해는 항상 존재하며, 나이트는 출발 칸에서 도착 칸까지 반드시 이동할 수 있습니다. 각 테스트 케이스의 출력 뒤에는 빈 줄을 하나 남기세요. 출력 형식은 예시 출력을 따릅니다.

예제1

  1. 예제 1

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