RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00724

나이트의 최소 이동

Silver I 실버 I
난이도
1s
시간 제한
256MB
메모리 제한
1
맞았습니다!!
4
제출 수
25.0%
정답률
레이팅

의견: 0

설명

\(L \times L\) 크기의 체스판이 있다. 행과 열은 각각 \(0\)부터 \(L-1\)까지 번호가 매겨져 있으며, 칸은 \((r, c)\)로 나타낸다.

체스의 나이트(knight) 는 한 번에 다음 \(8\)가지 방향 중 하나로 이동할 수 있다. 현재 칸 \((r, c)\)에서 \((r \pm 1, c \pm 2)\) 또는 \((r \pm 2, c \pm 1)\) 중 체스판 안에 있는 칸으로 이동한다.

시작 칸 \((r_1, c_1)\)에서 목표 칸 \((r_2, c_2)\)까지 나이트가 이동하는 데 필요한 최소 이동 횟수를 구하여라. \(L \ge 4\)이므로 항상 도달할 수 있다.

제약

\(4 \le L \le 300\), \(0 \le r_1, c_1, r_2, c_2 \le L-1\).

입력 형식

첫째 줄에 체스판의 크기 \(L\)이 주어진다.

둘째 줄에 시작 칸의 좌표 \(r_1\), \(c_1\)이 공백으로 구분되어 주어진다.

셋째 줄에 목표 칸의 좌표 \(r_2\), \(c_2\)이 공백으로 구분되어 주어진다.

출력 형식

나이트가 시작 칸에서 목표 칸까지 이동하는 최소 횟수를 한 줄에 출력한다.

예제 1
입력
8
0 0
7 7
출력
6
설명

\(8 \times 8\) 표준 체스판에서 \((0,0)\)에서 \((7,7)\)까지는 \(6\)번 만에 이동할 수 있다.

예제 2
입력
5
2 2
2 2
출력
0
설명

시작 칸과 목표 칸이 같으므로 이동할 필요가 없어 답은 \(0\)이다.

힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

나이트의 최소 이동

개요
출제자 난이도 Silver I 실버 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

나이트의 최소 이동

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8