KeyTo9_Fans 发表于 2026-3-28 08:42:01

用推箱子的方式合成数字N所需的最少步数

一开始玩家所在的地方是地图上唯一的一块空地,其余的格子上全都是1号箱子

玩家可以把箱子从一个空地推往另一个空地,也可以推往另一个相同的箱子(此时箱子会合并:2个k号箱子会合并成1个(k+1)号箱子)

玩家不能1步推动多个箱子,也不能把1个箱子推往另一个不同的箱子(不同的箱子不允许合并)

假设地图无限大,我想求解:

问题1:要合成一个n号箱子,至少需要走多少步?如何走才是最优解?

问题2:如何用最少的步数把自己困死(使得所有的箱子都无法继续推动)?

问题3:如果玩家是猴子(每次都是随机按一个方向键),他最终会把自己困死的概率是多少?困死前能合并出n号箱子所需步数的期望值是多少?

#####

下载这个附件,用浏览器打开就可以玩这个游戏了:



按方向键行动,最多只能合成到10,我没有设计更多的数字

magicstrawberry 发表于 2026-3-29 17:16:57

乱玩的,目标是困死,还是有点难度的

aimisiyou 发表于 2026-3-29 17:24:12

不难,就是有点费时间。

KeyTo9_Fans 发表于 2026-3-30 08:55:12

我用程序模拟了猴子的玩法,玩了174局,有108局被困死,概率约为62%

剩余的66局,猴子的行动范围超出了40960行*40960列地图的边界,2G内存没法继续模拟下去了,概率约为38%

我目前还没有统计被困死前能合并出n号箱子所需步数的期望值

等我有空再继续统计
页: [1]
查看完整版本: 用推箱子的方式合成数字N所需的最少步数