Logo
(追記) (追記ここまで)

1601번 - 바이너리 파워 비숍 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB277564734.058%

문제

바이너리 파워 비숍이 (x, y)에 있다면, (x + 2k, y + 2k), (x + 2k, y - 2k), (x - 2k, y + 2k), (x - 2k, y - 2k) 로 이동할 수 있으며, k는 음이 아닌 정수이다. 한 번 움직일 때 사용한 k는 다시 한 번 사용할 수 없다.

바이너리 파워 비숍이 (0, 0)에서 (x, y)로 이동하려고 한다. 이때, 방문하는 칸을 최소로 하는 프로그램을 작성하시오.

체스판의 크기는 무한대이고, 음수 좌표로도 방문할 수 있다.

입력

첫째 줄에 바이너리 파워 비숍이 가고자하는 위치인 x와 y가 공백을 사이에 두고 주어진다. 두 수는 100,000,000보다 작거나 같은 자연수이다.

출력

바이너리 파워 비숍이 (x, y)까지 이동할 때 방문하는 칸의 최솟값을 첫째 줄에 출력한다. 둘째 줄부터 차례대로 바이너리 파워 비숍이 거친 칸을 출력한다. 만약 이동할 수 없으면 첫째 줄에 -1을 출력한다. 방문하는 좌표를 출력할 때는, x,y 형식으로 출력해야 한다. 만약 가능한 경우의 수가 여러개이면 아무것이나 출력해도 된다.

제한

예제 입력 1

8 24

예제 출력 1

3
0,0
-8,8
8,24

예제 입력 2

16 16

예제 출력 2

2
0,0
16,16

예제 입력 3

11 22

예제 출력 3

-1

예제 입력 4

123 321

예제 출력 4

9
0,0
-128,128
-112,112
-104,104
-100,100
102,98
-101,97
-133,65
123,321

힌트

출처

  • 문제를 번역한 사람: baekjoon
  • 문제의 오타를 찾은 사람: jinsj1
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /