这其实就是迷宫问题的变体,猫最初的位置是入口,老鼠的位置就是出口,只不过这个出口处于不停的变动当中,但是老鼠的逃跑方式已经确定,所以只管让它走,猫捉老鼠就是一个求解迷宫路径的过程。比较麻烦的就猫永远抓不到老鼠的情况该如何判定,我们可以利用两个栈把猫和老鼠的路径都保存起来,并且标上序号,因为不用打印最短路径所以就不必出栈,每当猫或老鼠走一步的时候就遍历两个栈,如果猫和老鼠走到他们某一次都走过的地方那么就表明他们将永远在这段路径中循环,即猫永远抓不到老鼠。比如老鼠第10步走到(10,11),猫第十步走到(20,21),而老鼠第30步又走到(10,11),猫第30步也走到(20,21)就表明猫和老鼠会在这段路程中循环不息。我的思路就是这样吧,如果有什么不对请帮忙指点一下,代码有时间我也去打打,如果你做出来了不妨交流一下,呵呵!
- 随机文章
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。