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

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

3의 거듭제곱 이동

면접 대비

시간 제한2초메모리 제한512 MB

요약
k번째 단계에서 3^k만큼 네 방향 중 하나로 이동할 때, 주어진 점에 도달할 수 있는지 판정한다.
난이도

보통10점 중 5점

유형
수학, 정수론, 비트 연산
정답자
아직 제출이 없습니다

문제

동혁이는 무한히 넓은 평면의 원점 (0,0)(0, 0)에 서 있다.

동혁이는 단계를 나누어 움직이면서 점 (x,y)(x, y)에 도달하려고 한다. 단계 번호는 00부터 시작해 11씩 늘어난다.

단계 kk에서 동혁이는 오른쪽(xx좌표 증가), 왼쪽(xx좌표 감소), 위(yy좌표 증가), 아래(yy좌표 감소) 중 한 방향을 고른 뒤 그 방향으로 정확히 3k3^k만큼 이동한다. 어떤 단계도 건너뛸 수 없다.

동혁이는 단계를 원하는 횟수만큼 진행한 뒤 멈춘다. 한 단계도 진행하지 않고 원점에서 멈추는 것도 허용한다.

xx와 yy가 주어졌을 때, (0,0)(0, 0)에서 (x,y)(x, y)로 갈 수 있는지 판정하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 xx와 yy가 공백으로 구분되어 주어진다. (−109≤x,y≤109-10^9 \le x, y \le 10^9)

출력

(0,0)(0, 0)에서 (x,y)(x, y)로 갈 수 있으면 11을, 갈 수 없으면 00을 출력한다.

xx와 yy가 모두 00이면 단계를 진행하기 전부터 이미 그 자리에 있으므로 11을 출력한다.

예제5

  1. 예제 1

    입력
    1 3
    
    예상 출력
    1
    
  2. 예제 2

    입력
    0 2
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1 9
    
    예상 출력
    0
    
  4. 예제 4

    입력
    3 0
    
    예상 출력
    0
    
  5. 예제 5

    입력
    1 1
    
    예상 출력
    0