记录一下解题错误的原因和教训,最开始的想法是如果猫可以在去食物的路途中捉到老鼠,路径会比老鼠短,于是分治。 # 1-老鼠无法到达食物 # 2-猫先到达食物 # 3-猫寻路:最短路径(考虑墙) # 4-老鼠寻路:最短路径(考虑墙以及猫下一步会追上来)
但是可以发现如果
grid = [“F.”, “…”, … , “…”, “.C”, “…”, “M.”]
catJump = 1, mouseJump = 2
这种情况下,不管前面的路程有多少,只需要猫一直卡在老鼠前面,猫就是必胜的,而如果猫通过分治使用最短路径赶路,距离够长老鼠就有机会获胜…
所以说想清楚之前果然还是不要分治了…