의식의 원
시간 제한5초메모리 제한128 MB
모든 동료를 포함하고 오크는 모두 엄격히 바깥에 두는 가장 작은 원을 구해 반지름의 제곱을 기약분수로 출력한다.
문제
리븐델을 떠나기 전, 빌보는 프로도에게 자신이 스팅이라 부르던 요정제 검을 건네주었다. 이 검은 특별해서, 오크가 가까이 있으면 칼날이 파랗게 빛난다.
프로도는 자신의 동료들을 모두 안전하게 안쪽에 담으면서 오크는 모두 바깥에 두는 하나의 원을 그리려 한다. 그러한 원 중 가장 작은 것을 찾아라.
입력
입력은 파일의 끝까지 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 두 줄로 주어진다.
Companions:로 시작하고 그 뒤에 프로도 동료들의 위치가 오는 줄.Orcs:로 시작하고 그 뒤에 오크들의 위치가 오는 줄.
각 위치는 정수 좌표를 사용하여 (x,y) 형태로 적히며, 한 줄에는 공백으로 구분된 0개 이상의 점이 나열된다. 단어 none 은 공집합을 뜻한다. 모든 좌표는 이상 이하의 정수이고, 한 테스트 케이스 안의 모든 점은 서로 다르다. 한 테스트 케이스에서 두 무리를 합친 점의 개수는 최대 개이며, 개보다 많은 점을 가진 테스트 케이스는 최대 개이다.
출력
각 테스트 케이스마다, 모든 동료의 위치를 포함하면서(동료는 경계 위에 있어도 된다) 모든 오크는 원의 바깥에 엄격히 놓이도록 하는 가장 작은 원을 생각하자.
그러한 원이 존재하지 않으면 The Orcs are close 를 출력한다.
존재한다면, 그 가장 작은 원의 반지름의 제곱을 기약분수로, q >= 1 인 p/q 형태로 출력한다(반지름이 이면 0/1 을 출력한다). 최적의 원은 정수 좌표의 점들로 결정되므로 반지름의 제곱은 항상 유리수이다.
가장 작은 반지름은 실제로는 도달되지 않는 하한(infimum)일 수 있다. 가장 빠듯한 원이 어떤 오크를 경계 위에 정확히 올려놓게 되더라도, 중심을 무한히 작은 양만큼 옮기고 반지름을 무한히 조금 키운 원은 그 오크를 여전히 바깥에 둘 수 있다. 이 경우에도 그 극한 원의 반지름의 제곱을 출력한다. 테스트 케이스에 동료가 한 명뿐이면 반지름 인 원이 이미 조건을 만족하므로 답은 0/1 이다.