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

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

우주 거북의 귀환

면접 대비

시간 제한1초메모리 제한128 MB

요약
두 물체가 격자 위의 닫힌 경로를 따라 이동할 때, 매 분 정수 시각에 관측한 두 물체 사이 거리의 최솟값을 구한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

우주 거북(Space Turtle)을 기억하시나요? 겁 없는 우주 모험가 말입니다. 지난번에 만났을 때 그는 믿음직한 우주선 '토터스(Tortoise)'를 타고 전설의 황금 등껍질(Golden Shell)을 찾고 있었습니다.

우주 거북은 연료가 다 떨어졌지만, 황금 등껍질이 아주 가까이 있다고 믿고 있습니다. 그러나 (TV에서 흔히 보는) 공간 이상 현상 때문에 토터스와 황금 등껍질은 모두 2차원 격자에 갇혀, 매우 기묘한 궤도를 따라 끝없이 돌고 있습니다. 각 궤도는 한 격자점(정수 좌표를 가진 점)에서 인접한 격자점으로 이동하며, 한 단위 거리를 이동하는 데 정확히 1분이 걸립니다. 토터스와 황금 등껍질은 같은 순간에 이상 현상에 진입했으므로, 이 상황은 격자 위를 움직이는 두 물체로 생각할 수 있습니다.

토터스와 황금 등껍질이 각자의 궤도를 따라 움직이는 동안 둘 사이의 거리는 크게 변합니다. 외로운 황금 등껍질의 관리자인 당신의 임무는 1분마다 한 번씩 — 당신과 토터스가 모두 격자점 위에 있는 바로 그 순간에 — 토터스를 관측하여 얼마나 멀리 떨어져 있는지 기록하는 것입니다. 목표는 토터스가 황금 등껍질로부터 관측되는 가장 가까운 거리를 구하는 것입니다. (당신이 보지 않는 사이에 더 가까워질 수도 있지만, 그것은 세지 않습니다.)

입력

첫째 줄에는 세 정수 sxs_x, sys_y, sms_m이 주어집니다. (sx,sy)(s_x, s_y)는 토터스의 시작 좌표이고, sms_m은 궤도를 이루는 이동의 개수입니다. 이어지는 sms_m개의 줄에는 각 이동이 정수 dd (−100≤d≤100-100 \le d \le 100)와 문자 cc로, 공백으로 구분되어 주어집니다. dd는 토터스가 이동하는 부호 있는 거리이고, cc는 방향으로 격자의 xx축과 yy축에 대응하는 X 또는 Y입니다. 이동을 나타내는 줄은 최대 100100개입니다.

이 궤도 다음에는 황금 등껍질의 궤도가 같은 방식으로 주어집니다. 먼저 txt_x, tyt_y, tmt_m이 있는 한 줄이 오고, 그다음 같은 형식의 이동이 tmt_m개 이어집니다. 두 궤도 모두 시작점으로 반드시 되돌아오므로, 각각 닫힌 순환(cycle)입니다.

출력

토터스와 황금 등껍질 사이에서 관측되는 가장 가까운 거리를 소수점 아래 22자리로 반올림하여 출력하세요. 만약 둘이 어느 순간 같은 격자점에서 만난다면 0.00을 출력합니다.

예제3

  1. 예제 1

    입력
    0 0 4
    -1 Y
    -1 X
    1 Y
    1 X
    1 0 4
    -1 X
    1 Y
    1 X
    -1 Y
    
    예상 출력
    1.00
    
  2. 예제 2

    입력
    0 0 4
    1 X
    1 Y
    -1 X
    -1 Y
    2 2 4
    -1 X
    -1 Y
    1 X
    1 Y
    
    예상 출력
    0.00
    
  3. 예제 3

    입력
    0 0 0
    3 4 0
    
    예상 출력
    5.00