집 40개의 좌표가 주어질 때, 같은 반지름을 가진 두 원으로 모든 집을 덮을 수 있는 최소 반지름을 구한다.
보통6기하이분 탐색완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB한 통신사가 도시에서 가정용 전화 서비스를 시작하려고 한다. 전화기는 가정에 두지만, 도시 전체에 케이블망을 까는 비용을 피하려고 송신탑을 세우는 이동통신 기술을 쓴다.
탑에 설치한 송수신 장비의 출력이 그 탑의 서비스 반경을 정한다. 도시는 완전한 평면이므로 탑 하나가 덮는 구역은 원이다. 장비 값은 출력에 따라, 곧 서비스 반경에 따라 달라진다.
통신사는 도시에 탑을 정확히 두 개 세우기로 했다. 두 탑에 같은 장비를 설치하므로 서비스 반경도 서로 같다. 모든 가구가 서비스를 받으려면 두 탑이 덮는 구역이 합쳐서 도시의 모든 가구를 포함해야 한다. 또 장비 값을 줄이려면 두 탑의 서비스 반경이 가능한 한 작아야 한다. 아래 그림은 가구가 열 개인 도시에서 두 탑으로 덮는 방법 두 가지를 보여 준다. (a)와 (b) 모두 모든 가구를 덮지만, 서비스 반경이 더 작은 쪽은 (b)이다.

각 가구의 위치가 주어진다. 모든 가구가 서비스를 받도록 하는 두 탑의 최소 서비스 반경을 구하는 프로그램을 작성하라.
입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 도시의 가구 수 N (3≤N≤40)이 주어진다. 이어지는 N개 줄에는 각각 한 가구의 좌표를 나타내는 정수 X와 Y (0≤X≤104, 0≤Y≤104)가 공백 하나를 사이에 두고 주어진다. 두 가구가 같은 위치에 있는 경우는 없다.
입력의 끝은 0 하나만 있는 줄로 나타낸다. 이 줄은 처리하지 않는다.
각 테스트 케이스마다 한 줄에 두 탑에 설치할 장비의 최소 서비스 반경을 출력한다. 값은 소수점 아래 셋째 자리에서 반올림해 소수점 아래 둘째 자리까지 적는다. 반올림 결과가 갈리는 경계에 정답이 놓이는 입력은 주어지지 않는다.