当前位置: 首页 > 网络应用技术

1728年。猫和鼠标II:游戏理论中的DP困难

时间:2023-03-07 16:18:47 网络应用技术

  这是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