무선 방향 탐지기

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

지향성 안테나를 갖춘 배는 주변 비컨(무선 송신기)의 신호를 이용해 자신의 현재 위치를 알아낼 수 있다. 각 비컨은 알려진 위치에 놓여 있으며 고유한 신호를 발신한다. 배가 어떤 신호를 감지하면 안테나를 돌려 신호가 가장 강해지는 방향을 찾고, 이때 비컨에 대한 상대 방위(relative bearing)를 얻는다. 이전 비컨 관측값(관측 시각, 상대 방위, 비컨의 위치)이 주어졌을 때, 새로운 비컨 관측값 하나만 더 있으면 대개 배의 현재 위치를 확정할 수 있다. 두 비컨 관측값의 쌍으로부터 배의 위치를 가능한 경우에 구하는 프로그램을 작성하여라.

비컨과 배의 위치는 직교좌표계로 나타낸다. x축의 양의 방향은 동쪽, y축의 양의 방향은 북쪽이다. 배의 진행 방향인 코스(course)는 북쪽을 기준으로 시계 방향으로 잰 각도이며, 북쪽이 0°, 동쪽이 90°, 남쪽이 180°, 서쪽이 270°이다. 비컨의 상대 방위는 배의 코스를 기준으로 시계 방향으로 잰 각도이다. 안테나는 비컨이 어느 쪽에 있는지 구별하지 못하므로, 상대 방위가 90°라는 것은 비컨이 90° 방향 또는 270° 방향 중 하나에 있다는 뜻이다.

입력

첫째 줄에는 비컨의 개수를 나타내는 정수가 주어진다(최대 30). 그 다음 줄부터 각 비컨마다 한 줄씩, 비컨의 이름(알파벳 20자 이하의 문자열), 위치의 x좌표, 위치의 y좌표가 하나의 공백으로 구분되어 주어진다.

비컨 정보 다음 줄에는 이어지는 배 시나리오의 개수를 나타내는 정수가 주어진다. 각 시나리오는 세 줄로 이루어지며, 한 줄은 배의 이동 정보, 두 줄은 비컨 관측값이다.

데이터의미
course speed배의 코스와 이동 속력
time1 name1 angle1첫 번째 관측 시각, 첫 번째 비컨의 이름, 첫 번째 비컨의 상대 방위
time2 name2 angle2두 번째 관측 시각, 두 번째 비컨의 이름, 두 번째 비컨의 상대 방위

모든 시각은 정수이며, 24시간제 자정 이후의 분 단위로 주어진다. 속력은 분당 이동 거리이며 좌표계와 같은 단위를 쓴다. 각 관측 줄에는 관측 시각(정수), 비컨의 이름, 배의 코스를 기준으로 잰 상대 방위가 하나의 공백으로 구분되어 주어진다. 두 번째 관측 시각은 항상 첫 번째 관측 시각 이상이다.

출력

각 시나리오마다 시나리오 번호(Scenario 1, Scenario 2, …)와 함께, 두 번째 관측 시각에서의 배의 위치를 소수점 아래 둘째 자리까지 반올림하여 다음과 같이 출력한다.

Scenario k: Position is (x.xx,y.yy)

위치를 확정할 수 없으면 대신 다음을 출력한다.

Scenario k: Position cannot be determined