Expogo
시간 제한20초메모리 제한1024 MB
점프 길이가 1, 2, 4로 두 배씩 늘어나는 Expogo로 (X, Y)에 정확히 도달하는 가장 짧은 방향 문자열을 구하고, 불가능하면 IMPOSSIBLE을 출력합니다.
문제
방금 세상에서 가장 좋은 선물인 Expogo 막대를 받았다. 막대 위에 올라서서 점점 더 큰 거리를 뛸 수 있다.
무한히 넓은 뒷마당의 점 에 서 있다. 정수 좌표 인 목표 지점에 가능한 한 적은 횟수로 도달하려 한다. 목표 지점에는 정확히 착지해야 한다. 점프 도중에 목표 지점을 지나가기만 해서는 안 된다.
점프할 때마다 북, 남, 동, 서 중 한 방향을 고른다. 번째 점프는 고른 방향으로 만큼 이동한다. 첫 번째 점프는 1, 두 번째 점프는 2, 세 번째 점프는 4만큼 이동하며 이런 식으로 이어진다.
목표 지점에 도달할 수 있는지 판단하라. 도달할 수 있다면 가장 적은 점프로 도달하는 방법을 보여라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 이어지는 개의 줄에는 목표 지점의 좌표를 나타내는 정수 와 가 주어진다.
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호다. 목표 지점에 도달할 수 없으면 는 IMPOSSIBLE이다. 도달할 수 있으면 는 N, S, E, W 문자로 이루어진 한 글자 이상의 문자열이며, 점프 방향을 순서대로 나타낸다. 마지막 점프가 끝난 뒤 목표 지점에 정확히 도달해야 하며, 문자열은 가능한 한 짧아야 한다.
제한
.
힌트
예제 1에서는 원점에서 남쪽으로 까지 뛰고, 동쪽으로 까지 뛴 뒤, 북쪽으로 에 도달할 수 있다. 두 번 이하의 점프로는 도달할 수 없다. 목표까지 최소 의 거리가 필요한데, 처음 두 번의 점프로 갈 수 있는 거리는 뿐이다.
예제 2는 예제 1을 두 축에 대해 모두 뒤집은 경우이므로, 예제 1의 답에 나온 모든 방향을 반대로 바꾸면 답이 된다.
예제 3에서 EWE는 목표에 도달하지만, 더 짧은 경로가 있으므로 정답이 될 수 없다.
예제 4의 목표에 도달할 수 없는 이유는 직접 찾아보라.