소행성 피하기
시간 제한1초메모리 제한1024 MB
속도를 알 수 없는 우주선이 움직이고 회전하는 소행성 사이를 지나 기지에 충돌 없이 도착할 수 있는지 판단합니다.
문제
당신은 행성에서 탈출했지만 적 전투기가 바로 뒤에 붙어 있습니다. 당신과 기지 사이에는 소행성 지대가 있습니다. 전투기는 소행성 지대 안까지 따라오지 않습니다. 그러나 탈출하면서 연료를 거의 다 써서, 엔진을 한 번 분사할 만큼의 연료만 남았습니다. 선택지는 둘입니다. 항복하고 긴 징역형을 받거나, 우주선을 기지 쪽으로 향하게 한 뒤 그 한 번의 분사를 실행하는 것입니다. 분사로 얼마나 빨리 움직일지는 알 수 없지만, 소행성과 충돌하지 않는다면 결국 기지에 도착합니다.
소행성 지대를 스캔한 자료가 있습니다. 이 지대를 지나는 안전한 경로가 확실히 있는지, 아니면 항복하는 편이 나은지 판단하세요.
- 우주선과 기지는 소행성에 비해 매우 작으므로 점으로 취급할 수 있습니다.
- 스캔 자료에는 각 소행성의 무게중심, 무게중심의 이동 방향, 볼록 껍질 위의 점들이 스캔 시점 기준으로 주어집니다. 무게중심은 볼록 껍질 안에 있지만, 기하학적 중심과 같다고 할 수는 없습니다.
- 각 소행성의 무게중심은 주어진 방향으로 알 수 없는 속력으로 움직입니다. 속력은 0 이상이므로 소행성이 뒤로 움직이는 일은 없습니다.
- 소행성은 무게중심을 기준으로 어느 방향으로든, 어떤 각속도로든 회전할 수 있습니다. 회전에 대한 정보는 없으므로 모든 가능성을 고려해야 합니다.
- 소행성끼리는 부딪혀 튕기지 않습니다. 충돌하더라도 서로 통과하는 것으로 봅니다.
- 항복하지 않으면 우주선은 알 수 없는 속력으로 지대를 통과합니다. 매우 느릴 수도 매우 빠를 수도 있습니다. 속력을 조절할 수 없고, 소행성을 피해 방향을 틀 수도 없습니다.
- 소행성이 우주선을 스치는 일은 없다고 가정합니다. 각 소행성에 대해 다음 중 하나가 성립합니다. 우주선의 속력, 소행성의 속력, 각속도의 어떤 조합에서도 우주선과 소행성 사이 거리가 이상이거나, 우주선이 소행성과 교차하면서 우주선과 소행성 표면의 가장 가까운 점 사이 거리가 이상이 되는 조합이 존재합니다.
- 소행성은 기지와 충돌하거나 스치지 않습니다. 소행성의 속력과 각속도가 어떤 조합이든, 기지와 소행성 사이 거리는 항상 이상입니다.
- 우주선은 기지로부터 이상 떨어진 곳에서 출발합니다.
입력
첫 줄에는 실수 , , , , , 와 정수 이 공백으로 구분되어 주어집니다. 각각 우주선의 좌표, 기지의 좌표, 소행성의 개수 ()입니다.
다음 줄에 소행성이 주어지며, 소행성 하나당 두 줄을 씁니다. 첫 줄에는 실수 , , , , , 와 정수 이 주어집니다. 각각 무게중심의 위치, 이동 방향, 볼록 껍질 위의 점의 개수 ()입니다. 둘째 줄에는 개 점의 좌표를 나타내는 실수 개가 주어집니다.
모든 실수 값은 범위에 있으며, 소수점 아래는 최대 6자리입니다. 각 방향은 오차 이내에서 단위 벡터입니다.
출력
소행성 지대를 지나는 안전한 경로가 확실히 있으면 Go를, 그렇지 않으면 Surrender를 출력합니다.