「ブロック」のグリッド(2D配列の形式で、5 * 5、17 * 17など)があり、ブロックを自由に追加または削除できますが、中央にあるブロックは常に残す必要がありますそこの。
ローカル ネイバーがある場合、ブロックを配置できます: 右/左/上/下 (少なくとも 1 つ)。
いくつかのブロックを削除すると、他のブロックが中央ブロックへの「接続」なしで分離されたままになる可能性があり、これを回避したいと考えています。
すべてのブロックが中心に接続されているかどうかを確認するための簡単な解決策を探しています。データであり、それほど頻繁ではありません)。最初に頭に浮かんだのは、これをパス検索として実装することでしたが、それはやり過ぎのようです。
私はC++を使用していますが、違いはありません。