[英]3d Maze Programming
我正在尝试解决这个问题。
我不需要整个代码或逻辑。 只需要一些提示就可以让我开始解决这个问题。我应该使用什么方法解决这个问题。
问题
假设一只蚂蚁被困在迷宫中,只有一种进出的方式。 迷宫是尺寸为NxNxN(长度=宽度=高度= N)的类似立方晶格的结构。 进路是最底端的左点,出路是最右端的点(沿主对角线)。 下图显示了N = 2时的迷宫。
假设蚂蚁仅沿着迷宫的网格向右,向前或向上移动,请计算蚂蚁逃逸的方式总数。 在数学上正确,向前和向上分别定义为x,y和z轴上坐标的正向变化。
示例:对于N = 1,网格结构和解决方案如下所示:
因此,对于N = 1,我们有6种方式的网络。 输入格式:单整数N
输出格式:输出还包含一个与蚂蚁逃脱迷宫的方式相对应的数字。
限制条件:
0<N<=8
为了摆脱蚂蚁,需要使N向右移动,N向上方移动,N向前方移动。
由于没有路径被阻塞,因此可以不受限制地以任何顺序进行这些移动。
R,U和F移动的每个不同顺序都是不同的路径,因此答案是由N Rs,Us和Fs组成的不同字符串的数量。
可以简单地计算为(3N)! / (N!)^3
(3N)! / (N!)^3
。
...哪里!
是阶乘,不是布尔取反, ^
是指数,而不是XOR :)
它与2D拼图基本相同,但交叉点更多。 使用BFS或DFS算法。 祝好运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.