Nimble Rendezvous
시간 제한1초메모리 제한1024 MB
수직선 위 두 점이 매번 왼쪽이나 오른쪽으로 이동하되 이동 거리가 두 배씩 늘어날 때, 두 점이 만나는 최소 이동 횟수와 그때의 최종 위치 개수를 구한다.
문제
수직선 위에 서로 다른 위치에 있는 두 점이 있다. 두 점은 아래 규칙에 따라 이동한다.
- 단위 시간마다 두 점은 각각 왼쪽 또는 오른쪽 중 한 곳으로 이동한다. 서로 같은 방향으로 이동할 수도 있고, 다른 방향으로 이동할 수도 있음에 유의하자.
- 두 점의 처음 이동 거리는 이고, 이동한 뒤 다음 이동 거리는 현재 이동 거리의 두 배가 된다.
- 이동 중간에 멈추거나 방향을 바꿀 수는 없다.
두 점이 이동을 마친 후, 같은 위치에 있다면 두 점이 만났다고 하자. 두 점의 시작 위치가 주어질 때 두 점이 만나기 위한 최소 이동 횟수와 최소 이동 횟수로 만나는 최종 위치의 개수를 구해보자.
입력
첫째 줄에 두 점의 최초 위치를 나타내는 정수 , 가 공백으로 구분되어 주어진다.
출력
두 점이 만나기 위한 최소 이동 횟수와 최소 이동 횟수로 만나는 최종 위치의 개수를 공백으로 구분하여 출력한다. 만약 두 점이 영원히 만날 수 없다면 대신 -1을 출력한다.