分析(排雷)

复杂雷区的准确判断在简单雷区小试牛刀之后,我们来一次发现规律的实战演练。下图是高级扫雷游戏中的一个典型雷区:

怎么做

不打开格子能直接指出黄色格子里有没有地雷吗?如果雷区随便改一点——左上角的一个格子下移一个位置呢?

怎么做

你可能需要考虑全局,从某个点开始一步一步推理,扫描所有雷区才能判断,当雷区随意变化一点点,你就得从头再来,才能再次回答。这无疑是一个巨大的成本负担。

其实很快就能给出答案:第一个雷区的黄格子里没有地雷,但第二个雷区的黄格子里一定有地雷。

这是怎么做到的?事实上,如果把上述逻辑门引入这个复杂的雷区,一切都会变得简单明了。

作为电路很容易分析。

雷场中所有靠近边界、可以直接识别为地雷的位置都用旗帜标出,其余位置用不同的字母标出。考虑一个有我的网格为1,一个没有我的网格为0。最左边的网格(u,v)用作输入,最右边的网格(t)用作输出。根据扫雷游戏的规则,经过逐步计算,它们之间的关系是:

(u,v,t) = (1,1,1)或(1,0,0)或(0,0,0)。

显然,这个雷场总结为一个与门,不仅轻松解决了扫雷这个难题,而且揭示了雷场的规律。这样,当你在扫雷中掌握了这些逻辑门的规则并加以实践,就能达到“机械化”扫雷的准确快速水平。届时,可能会诞生一个新的记录。