만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쥐며느리가 아닌 벌레

시간 제한8초메모리 제한1024 MB

요약
장애물을 만나면 왼쪽으로 도는 벌레가 정확히 d만큼 이동한 뒤의 좌표를 구합니다.
난이도

보통10점 중 5점

유형
시뮬레이션, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

쥐며느리처럼 생긴 벌레 한 마리가 평면 위를 걷고 있다. 평면에는 데카르트 좌표계가 정의되어 있으며, xx축은 서쪽에서 동쪽을, yy축은 남쪽에서 북쪽을 향한다.

벌레는 격자점(x좌표와 y좌표가 모두 정수인 점)에서 출발하며, xx의 양의 방향을 바라보고 있다. 일부 격자점에는 장애물이 있다. 벌레는 장애물을 피하면서 다음 규칙에 따라 계속 움직인다.

  • 벌레는 바라보는 방향에 인접한 격자점으로 이동하려고 한다.
  • 그 격자점에 장애물이 없으면, 그곳으로 이동하고 방향은 그대로 둔다.
  • 그 격자점에 장애물이 있으면, 제자리에 머물며 왼쪽으로 90도 회전한다.

벌레의 초기 위치, 장애물의 위치, 이동 거리가 주어진다. 벌레가 주어진 거리만큼 정확히 이동한 뒤의 위치를 구하라.

그림은 예제 데이터 중 일부를 보여 준다. 왼쪽 그림에서 처음 두 데이터의 벌레 초기 위치는 (0, 1)이다. 벌레는 (1, 1)을 지나 (2, 1)로 이동한다. 다음에는 (3, 1)로 가려 하지만 그곳에 장애물이 있으므로 yy의 양의 방향으로 회전하여 (2, 2)로 이동한다. 벌레가 지나간 점은 주황색 원으로 표시되어 있다. 오른쪽 그림은 다음 두 데이터를 보여 준다.

입력

입력은 여러 개의 데이터셋으로 이루어지며, 각 데이터셋은 다음 형식으로 주어진다. 데이터셋은 200개를 넘지 않는다.

nn

aa bb dd

x1x_1 y1y_1

⋮\vdots

xnx_n yny_n

여기서 nn은 장애물의 개수로, 1 이상 1000 이하의 정수이다. aa와 bb는 0 이상 100 이하의 정수이며, 벌레의 초기 위치는 (a,b)(a, b)이다. dd는 이동 거리로, 1 이상 101810^{18} 이하의 정수이다. ii번째 장애물은 (xi,yi)(x_i, y_i)에 있으며, xix_i와 yiy_i는 0 이상 100 이하의 정수이다. 서로 다른 두 장애물이 같은 위치에 있지 않으며, 초기 위치에는 장애물이 없다. 이 배치에서 벌레는 거리 dd 이상 움직일 수 있음이 보장된다.

입력의 끝은 0 한 줄로 나타낸다.

출력

각 데이터셋에 대해, 벌레가 거리 dd만큼 이동한 뒤의 위치를 나타내는 xx좌표와 yy좌표를 공백으로 구분하여 한 줄에 출력한다. 좌표는 음수일 수 있다.

예제1

  1. 예제 1

    입력
    2
    0 1 4
    3 1
    2 5
    2
    0 1 9
    3 1
    2 5
    12
    2 2 11
    0 1
    0 2
    0 3
    4 1
    4 2
    4 3
    3 4
    2 4
    1 4
    3 0
    2 0
    1 0
    12
    2 2 7791772263873
    0 1
    0 2
    0 3
    4 1
    4 2
    4 3
    3 4
    2 4
    1 4
    3 0
    2 0
    1 0
    3
    0 3 198
    99 2
    100 3
    99 4
    3
    0 3 1000000000000000000
    99 2
    100 3
    99 4
    1
    99 100 1
    100 100
    0
    
    예상 출력
    2 3
    -2 4
    2 3
    3 2
    0 3
    -999999999999999802 3
    99 101