ポイントが整数の正の座標を持つxyグリッドがあります。これらのポイントは、x 座標と y 座標の差が 2 未満の場合、「隣り合っている」ということになります。
このグリッドで、ある領域を囲むパスを見つけました。パス内のすべてのポイントは、前のポイントと次のポイントに隣接しているため、囲まれた領域を歩き回るように並べ替えられます。また、その囲まれたエリアを巡る最短経路であるため、前後の段差はありません。囲まれた領域は凸状である必要はないため、パス上のランダムな 2 点を 1 本の線で結ぶと、その線はその領域から完全に外れることがあります。
問題は、囲まれたパスの任意のポイントに隣接する、囲まれた領域内の少なくとも 1 つのポイントを見つける必要があることです。
簡単に聞こえるかもしれませんが、それを決定するための確かなアルゴリズムは見つかりませんでした。
※すみません、説明不足でした。囲まれた領域に「空の部分」はありません。囲まれた領域に 3 つのポイントがある場合、その周りのパスは、それらの 3 つのポイントをキャプチャする最小のパスです。この図では、赤いパスが最短で、黒いパスが長すぎます。これらを検出する必要はありません。