Задача состоит в том, чтобы найти самый маленький диск, содержащий несколько заданных точек. Однако это несколько усложняется тем, что в этой задаче координаты и радиус диска должны быть целыми числами.
Ваш ввод будет список точек с целочисленными координатами xи y. Вы можете принять это как список кортежей, список списков или любой другой способ представления коллекции пар. xи yоба будут (возможно, отрицательными) целыми числами. Каждая точка гарантированно уникальна, и будет хотя бы одна точка.
Ваш выход будет диск в виде трех чисел, X, Y, и R. X,, Yи Rвсе целые числа, Xи Yпредставляют центр диска и Rпредставляет его радиус. Расстояние между каждой данной точкой и центром должно быть меньше или равно R, и не должно быть такого диска с меньшим, Rкоторый также удовлетворяет этому условию.
Возможно, что для данного ввода будет несколько возможных решений, в этом случае ваш код должен вывести хотя бы одно из них.
Вы можете использовать любые виды геометрии, которые поддерживает ваш язык, если они есть, и ввод / вывод может осуществляться через встроенные точечные / дисковые объекты, а не только числа.
Тестовые случаи
Input (Possible) Output(s)
(x,y) (X,Y,R)
-------------------------
(0,0) (0,0,0)
-------------------------
(0,1) (0,0,1)
(1,0) (1,1,1)
-------------------------
(1,4) (4,4,3)
(3,2)
(4,1)
(4,5)
(5,2)
(7,4)
-------------------------
(-1,0) (0,0,2)
(2,0) (1,0,2)
-------------------------
(-1,0) (1,0,2)
(2,1) (0,1,2)
-------------------------
(0,0) (1,0,1)
(1,1) (0,1,1)
Побеждает несколько байтов.