Дан единичный квадрат с координатами от (0, 0) до (1, 1).
Внутри или около квадрата расположены круги-препятствия. Каждый круг задан как [x, y, r]: центр и радиус.
Нужно определить, существует ли путь из любой точки левой стороны квадрата в любую точку правой стороны квадрата.
Ограничения:
- нельзя заходить внутрь кругов;
- нельзя касаться кругов;
- нельзя выходить за пределы квадрата;
- касание кругов друг с другом или с границей считается блокировкой.
def can_cross_square(circles: list[list[float]]) -> bool:
Путь слева направо невозможен, если круги образуют непрерывный барьер от верхней стороны квадрата до нижней стороны квадрата.
circles = []trueБез препятствий путь существует
circles = [[0.5,0.5,0.1]]trueОдин небольшой круг не режет квадрат
circles = [[0.5,0.5,0.5]]falseКруг касается top и bottom