吧务
level 14

根据规则,其中有一些局面出现了某一岸鬼比人多的情况,导致失败,我们首先把这些局面排除掉,在步数一栏标记-1。这种局面共12,还剩20个局面。
我们的最终目标是形成000局面,因此在这个局面的步数一栏标记0。当然001局面也可以标记0,不过没有什么意义,因为这个局面是走不出来的。
接下来,我们检索一下,有哪些局面可以在一步之内走到000局面的,显然我们只要检索船在起点的局面即可。检索出111、021、011这三个局面,在步数一栏标记为1,顺便记下它们下一步最佳选择的局面编号32。
再检索哪些局面可以形成刚才这三个被标记为1的局面,这次只要检索船在终点的局面即可。只检索出010一个局面,在步数一栏标记为2,它下一步可以走到11号或14号,并列最佳,任选其一即可。
依此类推,一直检索下去:
还剩下3个局面没有标记步数,这些局面就是死局了。很好理解这三个局面为什么无解:330,人和鬼都在起点,船自己跑到终点了,等于没船;301和030,人都在一岸,鬼都在另一岸,船在人这边,现在人只要过去就等于送死。这三个局面同样标记为-1。

需要17步,解法依次是1(1112121)→253(0012120)→37(1012121)→254(0012110)→2(1112111)→150(1112000)→3(1112101)→168(1102000)→6(1112001)→258(0012000)→111(0012101)→276(0002000)→114(0012001)→282(0001000)→30(1101001)→252(0100000)→36(1100001)→288(0000000)
初始位置如图所示,老鼠先走,双方交替行动,每次走一格,不允许原地不动。老鼠在1号位的时候,猫不允许吃老鼠。
可以看出,猫能抓住老鼠的局面是相当少的,在步数一栏中出现的最大的数字也就是3而已,可以说,如果老鼠不是主动送到猫旁边,猫几乎是没有可能抓住老鼠的。