피하기
시간 제한8초메모리 제한512 MB
- 난이도
아직 분류되지 않았습니다
- 정답자
- 아직 제출이 없습니다
문제
당신은 지금 상하좌우로 끝없이 펼쳐진 격자판의 원점 에 있다. 칸의 위치는 좌표와 좌표로 나타내며, 오른쪽으로 한 칸 가면 가 1 늘고, 위로 한 칸 가면 가 1 늘어난다. 목적지인 칸 를 향해 가야 한다. 한 걸음에 상하좌우와 대각선을 포함한 인접한 8칸 중 어디로든 이동할 수 있다.
자, 출발하자고 생각할 수도 있지만 먼저 경고가 하나 있다. 이 격자판에는 마와리코미야(廻小宮)라는 수수께끼의 인물이 숨어 있다. 당신이 한 걸음 움직이면, 그는 방금 나아간 방향으로 한 칸 더 앞선 칸에 순식간에 이동한다. 정확히 말하면, 칸 에서 칸 로 움직이면 마와리코미야는 로 이동한다. 그의 사정거리에 들어가는 것은 위험하다. 방금 돌아 들어온 직후에는 어쩔 수 없지만, 다음에 이동할 칸이나 그 칸과 인접한 8칸 중 하나에 이미 마와리코미야가 있으면 사정거리에 들어간 것이므로 반드시 피해야 한다.
위 규칙에 따라 사정거리를 피하면서 목적지에 도달하려면 최소 몇 걸음이 필요한가? 이 최소 걸음 수를 구하는 프로그램을 작성하는 것이 과제다. 처음에는 마와리코미야가 어떤 칸에도 없으며, 첫 걸음 이후부터 위 규칙에 따라 나타난다.
첫 번째 예시에서 목적지는 이다. 처음에 오른쪽 옆 칸인 으로 가면 마와리코미야가 에 나타나 다음 걸음에 그 칸으로 갈 수 없다. 처음에 대각선 오른쪽 위인 로 가면 마와리코미야는 에 가므로, 은 사정거리 밖이고 다음 걸음에 으로 갈 수 있다.

입력
각 데이터셋은 정수 , 두 개가 한 줄에 주어진다. 이는 목적지 칸이 임을 뜻하며, 을 만족한다. 입력의 끝은 EOF로 나타낸다. 전체 데이터셋의 수는 50을 넘지 않는다.
출력
각 데이터셋에 대해, 위 규칙에 따라 칸 에서 칸 까지 이동하는 데 필요한 최소 걸음 수를 한 줄에 출력한다.