글로벌 로밍
시간 제한1초메모리 제한128 MB
구 형태의 지구 위 위성 위치와 여러 지상 지점이 주어질 때, 위성이 지평선 위에 보이는 지점들을 판별한다.
문제
오늘날 이동 통신의 상당 부분은 위성을 직접 바라볼 수 있는지에 달려 있다. 따라서 통신 사업자에게는 자사 서비스가 어디에서 이용 가능한지 아는 것이 매우 중요하다.
주어진 위성을 직접 바라볼 수 있는 지점, 즉 그 위성이 지평선 위에 떠 있는 지점들을 모두 찾아야 한다. 계산을 단순화하기 위해 지구는 반지름이 km인 완전한 구라고 가정한다(산악 지형은 내년에 추가될 예정이다...). 위성은 지표면 위에 떠 있는 하나의 점으로 취급한다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 확인할 지점의 개수 과 위성의 위치가 주어진다. 위성의 위치는 위도, 경도(둘 다 도 단위), 그리고 지표면으로부터의 높이(km 단위)로 표현된다.
이어지는 개의 줄에는 각각 지표면 위의 한 지점이 주어진다. 각 줄은 지점의 이름(공백을 포함하지 않는, 출력 가능한 ASCII 문자 개 미만의 문자열)과 그 지점의 위도, 경도(둘 다 도 단위)로 이루어진다.
입력은 인 줄로 끝난다.
출력
각 테스트 케이스마다 먼저 Test case k: 형태의 줄을 출력한다. 여기서 는 부터 시작하는 테스트 케이스 번호이다. 그다음 위성이 보이는 지점들의 이름을, 입력에 나타난 순서 그대로 한 줄에 하나씩 출력한다.
연속한 두 테스트 케이스 사이는 빈 줄 하나로 구분한다.