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

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

소행성 피하기

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

요약
속도를 알 수 없는 우주선이 움직이고 회전하는 소행성 사이를 지나 기지에 충돌 없이 도착할 수 있는지 판단합니다.
난이도

어려움10점 중 9점

유형
기하, 수학
정답자
아직 제출이 없습니다

문제

당신은 행성에서 탈출했지만 적 전투기가 바로 뒤에 붙어 있습니다. 당신과 기지 사이에는 소행성 지대가 있습니다. 전투기는 소행성 지대 안까지 따라오지 않습니다. 그러나 탈출하면서 연료를 거의 다 써서, 엔진을 한 번 분사할 만큼의 연료만 남았습니다. 선택지는 둘입니다. 항복하고 긴 징역형을 받거나, 우주선을 기지 쪽으로 향하게 한 뒤 그 한 번의 분사를 실행하는 것입니다. 분사로 얼마나 빨리 움직일지는 알 수 없지만, 소행성과 충돌하지 않는다면 결국 기지에 도착합니다.

소행성 지대를 스캔한 자료가 있습니다. 이 지대를 지나는 안전한 경로가 확실히 있는지, 아니면 항복하는 편이 나은지 판단하세요.

  • 우주선과 기지는 소행성에 비해 매우 작으므로 점으로 취급할 수 있습니다.
  • 스캔 자료에는 각 소행성의 무게중심, 무게중심의 이동 방향, 볼록 껍질 위의 점들이 스캔 시점 기준으로 주어집니다. 무게중심은 볼록 껍질 안에 있지만, 기하학적 중심과 같다고 할 수는 없습니다.
  • 각 소행성의 무게중심은 주어진 방향으로 알 수 없는 속력으로 움직입니다. 속력은 0 이상이므로 소행성이 뒤로 움직이는 일은 없습니다.
  • 소행성은 무게중심을 기준으로 어느 방향으로든, 어떤 각속도로든 회전할 수 있습니다. 회전에 대한 정보는 없으므로 모든 가능성을 고려해야 합니다.
  • 소행성끼리는 부딪혀 튕기지 않습니다. 충돌하더라도 서로 통과하는 것으로 봅니다.
  • 항복하지 않으면 우주선은 알 수 없는 속력으로 지대를 통과합니다. 매우 느릴 수도 매우 빠를 수도 있습니다. 속력을 조절할 수 없고, 소행성을 피해 방향을 틀 수도 없습니다.
  • 소행성이 우주선을 스치는 일은 없다고 가정합니다. 각 소행성에 대해 다음 중 하나가 성립합니다. 우주선의 속력, 소행성의 속력, 각속도의 어떤 조합에서도 우주선과 소행성 사이 거리가 10−610^{-6} 이상이거나, 우주선이 소행성과 교차하면서 우주선과 소행성 표면의 가장 가까운 점 사이 거리가 10−610^{-6} 이상이 되는 조합이 존재합니다.
  • 소행성은 기지와 충돌하거나 스치지 않습니다. 소행성의 속력과 각속도가 어떤 조합이든, 기지와 소행성 사이 거리는 항상 10−610^{-6} 이상입니다.
  • 우주선은 기지로부터 10−610^{-6} 이상 떨어진 곳에서 출발합니다.

입력

첫 줄에는 실수 sxs_x, sys_y, szs_z, bxb_x, byb_y, bzb_z와 정수 nn이 공백으로 구분되어 주어집니다. 각각 우주선의 좌표, 기지의 좌표, 소행성의 개수 nn (0≤n≤300 \le n \le 30)입니다.

다음 2n2n 줄에 소행성이 주어지며, 소행성 하나당 두 줄을 씁니다. 첫 줄에는 실수 pxp_x, pyp_y, pzp_z, dxd_x, dyd_y, dzd_z와 정수 mm이 주어집니다. 각각 무게중심의 위치, 이동 방향, 볼록 껍질 위의 점의 개수 mm (4≤m≤84 \le m \le 8)입니다. 둘째 줄에는 mm개 점의 좌표를 나타내는 실수 3m3m개가 주어집니다.

모든 실수 값은 [−2⋅106,2⋅106][-2 \cdot 10^6, 2 \cdot 10^6] 범위에 있으며, 소수점 아래는 최대 6자리입니다. 각 방향은 오차 10−610^{-6} 이내에서 단위 벡터입니다.

출력

소행성 지대를 지나는 안전한 경로가 확실히 있으면 Go를, 그렇지 않으면 Surrender를 출력합니다.

예제3

  1. 예제 1

    입력
    10.0 0.0 0.0 0.0 0.0 0.0 1
    5.0 3.0 0.0 0.0 -1.0 0.0 6
    7.0 3.0 0.0 3.0 3.0 0.0 5.0 1.0 0.0 5.0 5.0 0.0 5.0 3.0 1.0 5.0 3.0 -1.0
    
    예상 출력
    Surrender
    
  2. 예제 2

    입력
    10.0 0.0 0.0 0.0 0.0 0.0 1
    5.0 3.0 0.0 0.0 1.0 0.0 6
    7.0 3.0 0.0 3.0 3.0 0.0 5.0 1.0 0.0 5.0 5.0 0.0 5.0 3.0 1.0 5.0 3.0 -1.0
    
    예상 출력
    Go
    
  3. 예제 3

    입력
    10.0 0.0 0.0 0.0 0.0 0.0 1
    15.0 0.0 0.0 1.0 0.0 0.0 6
    14.0 0.0 0.0 16.0 0.0 0.0 15.0 1.0 0.0 15.0 -1.0 0.0 15.0 0.0 1.0 15.0 0.0 -1.0
    
    예상 출력
    Go