Canadian Computing Competition: 2008 Stage 2, Day 2, Problem 3
Keep watching the skies! Alien spacecraft are due to land any day now to share all of their advanced programming secrets with us.
In preparation for this day, you've been tasked with preparing a landing pad for our visitors in a given field. Unfortunately, due to environmental considerations, you will not be permitted to remove any of the trees which currently exist on the field. These trees are of immense scientific interest, since they have zero radius and only grow at points with integer coordinates. However, this could be a blessing in disguise. For security reasons, the landing pad must be in contact with at least three trees. Security cameras will be placed at the tops of these trees.
Alien spacecraft are perfectly circular craft of various sizes, so the landing pad will also be circular. Since it would be polite to warn potential visitors ahead of time if their spacecraft is too large for our landing pad, you must now determine the size of the largest circular region that we can place on the field which contacts at least three trees, but does not contain any trees within.
The first line of input will consist of the number of trees . The next lines will each consist of a pair of integers and , separated by a space, giving the coordinates of a tree. You may assume that no two trees are at the same coordinate.
Output the radius of the largest possible landing pad. If the correct answer is , you should output any number such that
The above calculation is used to define an acceptable range or tolerance for the answer you find. You may also assume that . You may assume there exists at least one landing pad.
You may assume that of the test cases will have at most trees. You may assume that of the test cases will have at most trees. All test cases will have at most trees.