繁体   English   中英

3D迷宫编程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM