这是1728年。leetcode上的猫和小鼠II,这很困难。
标签:“游戏理论”,“动态计划”,“内存搜索”
猫和鼠标正在玩一个名为猫和鼠标的游戏。
他们所在的环境环境是一个正方形,每个广场都可以是墙壁,地板,玩家(猫或鼠标)或食物。
猫和小鼠按照以下规则移动:
游戏将结束$ 4 $的物种:
给您的矩阵和两个整数,双方都采用最佳策略。如果老鼠获胜,请返回,否则返回。
示例1:
示例2:
示例3:
示例4:
示例5:
暗示:
当时(解释)913。猫和老鼠未能证明较小的$ k $值(回合数)的正确性,该价值由$ 2n^2 $制成,其余的主题解释了$ 2 n $法律,后来被确认是错误的。
如果此问题使用相同的分析想法,那么状态高达$ 8 imes 8 imes 8 imes 8 imes 2 = 8192 $种类。边界仍然很困难(我上次无法分析,我不想要一直分析
如果$ k $值分析被忽略,则代码仍然写得很好:定义功能并与内存搜索合作,而鼠标则位于$(x,y)$,cat为$(p,q)$,当前的车轮为$ k $(谁知道谁是$ k $的陌生感)。
讨论边界状况,并在运动过程中执行规则(四个Unicom,运动的最大距离是和平的)。请注意,一旦遇到边界或墙壁,就必须切断。
Java使用静态数组来表示双方的位置,最大回合数为$ K = 1000 $,可以通过。此问题的时间限制非常高。我将其调整为$ k = 1500 $,以$ 2.5S $。从事我想添加一张卡,并检查总每200美元的运行$。尝试在$ 850ms $中按时间。现在似乎无法使用。
代码:
这是我们“通过Leetcode”系列的第一篇文章。该系列始于2021/01/01。从开始开始时的起始代码开始,总共有1916年的问题。该主题已经完成。
在这一系列文章中,除了解释问题 - 解决想法之外,还将尽可能多地提供最简洁的代码。如果涉及通信,将有相应的代码模板。
为了使学生更容易在计算机上调试和提交代码,我建立了一个相关的仓库:https://github.com/sharingsource/logicstack-letcode。
在仓库地址中,您可以看到一系列文章的解释链接,一系列文章的相应代码,leetcode的原始链接以及其他首选解决方案。
原始:https://juejin.cn/post/7096017698043199502