Wyzwanie polega na znalezieniu najmniejszego dysku zawierającego określone punkty. Jest to jednak nieco trudniejsze, ponieważ w tym wyzwaniu współrzędne i promień dysku muszą być liczbami całkowitymi.
Wprowadzony zostanie wykaz punktów o współrzędnych całkowitych x
i y
. Możesz to potraktować jako listę krotek, listę list lub w jakikolwiek inny sposób reprezentujący zbiór par. x
i y
obie będą (prawdopodobnie ujemnymi) liczbami całkowitymi. Każdy punkt na pewno będzie unikalny i będzie co najmniej jeden punkt.
Jego wynik będzie na dysku w postaci trzech cyfr X
, Y
, i R
. X
, Y
i R
wszystkie są liczbami całkowitymi X
i Y
reprezentują środek dysku oraz R
jego promień. Odległość między każdym danym punktem a środkiem musi być mniejsza lub równa R
i nie może istnieć taki dysk z mniejszym, R
który również spełnia ten warunek.
Możliwe, że dla danych wejściowych będzie wiele możliwych rozwiązań, w tym przypadku kod musi wypisać co najmniej jedno z nich.
Możesz użyć dowolnego rodzaju wbudowanych geometrii obsługiwanych przez Twój język, jeśli takie istnieją, a dane wejściowe / wyjściowe mogą odbywać się za pośrednictwem wbudowanych obiektów punktowych / dyskowych zamiast samych liczb.
Przypadki testowe
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)
Wygrywa najmniej bajtów.