我有一个“块”网格(以 2D 数组的形式,可以是 5*5、17*17 或其他),我可以随意添加或删除块,除了中心应该始终保留的块那里。
如果他们有本地邻居,我可以放置块:在他们的右/左/上/下(至少其中一个)。
通过删除一些块,它可能会使其他块与中心块没有“连接”,我想避免这种情况。
我正在寻找一个快速的解决方案来检查我的所有块是否都与中心有连接,这是最简单的(就编码而言,我可以接受有一个非最佳解决方案,因为这应该在非常小的情况下执行数据,而不是经常)。我想到的第一件事是将其实现为路径搜索,但这似乎有点过头了。
我正在使用 C++,但这不应该有任何区别。