Итак, у меня есть список точек, которые обычно образуют некую круглую форму, за исключением того, что часто есть небольшие ответвления от круга, которые по сути являются просто линиями, скажем, от границы круга, идущего в определенном направлении. Я хочу создать функцию, которая при задании этого списка координат / точек определяет, существует ли полный путь в этом наборе точек.
Я думал о создании начальной точки и поиске того, существует ли путь, который не повторяет точки (то есть (1,1) -> (2, 1) -> (1,1) запрещен) и мог бы вернуться к начальной точке; однако, если начальная точка находится в ответвлении круга, это не сработает.
Например, список координат
[[0, 0], [0, 1], [1, 2], [2, 3], [3, 3], [3, 4], [4, 4], [3, 2], [3, 1], [3, 0], [2, -1], [1, -1], [0, -1]]
будет формировать полный путь, в то время как, если я уберу [1, -1]
, он не будет формировать полный путь.