我试图解决以下问题:
mn 迷宫是一个 mn 矩形网格,其墙壁放置在网格单元之间,这样从左上角的正方形到任何其他正方形都只有一条路径。以下是 912 迷宫和 1520 迷宫的示例:
令 C(m,n) 为不同的 mn 迷宫的数量。可以通过旋转和从另一个迷宫反射形成的迷宫被认为是不同的。
可以验证 C(1,1) = 1, C(2,2) = 4, C(3,4) = 2415, 和 C(9,12) = 2.5720e46(科学计数法四舍五入到 5 位有效位数)。
找到 C(100,500)
现在,有一个明确的公式可以给出正确的结果,并且它是完全可计算的。但是,据我了解,欧拉计划问题的解决方案应该更像是聪明的算法,而不是显式的公式计算。试图将解决方案表述为递归,我只能得到一个线性系统,其中变量的数量随着迷宫的大小呈指数增长(更准确地说,如果有人试图为 mxn 迷宫的数量编写一个递归,并且 m 保持固定,到达一个线性系统,其变量的数量随着 m 呈指数增长:其中一个变量是 mxn 迷宫的数量,具有问题 380 声明中给出的属性,而其他变量是 mxn 迷宫的数量在某些特定的“
我还想将问题简化为可以更容易解决的子问题,然后在构造更大的子问题的解决方案时重用子问题解决方案(动态编程方法),但在这里我偶然发现了子问题似乎涉及不规则迷宫的事实形状,同样,这种迷宫的数量是 m,n 的指数。
如果有人知道一种可行的方法(m=100,n=500),而不是使用显式公式或一些特别定理,并且可以提示在哪里寻找,对我来说这将非常有趣。