分层路径配方

时间:2016-05-05 06:49:07

标签: c# algorithm

我试图在C#中实现这个问题,但我不知道用什么算法来解决这个问题。

我有一个元组(layer, index, section)描述一组(方框)中的每个方框。

layer指的是每个section中每个框的高度。 index指的是每个section中每个框的计数。 section指的是方框的集合。

目标是寻找一条路径"从左下角开始连接每个框,最底部layer(即layer = 1index = 1)。

它会向上移动;当它到达最顶部(section = 3)时,它将再次重置回最底部(section = 1)。当发生这种情况时,它将向右移动(index = 2)。在此期间,它只会连接相同的layerlayer = 1)。最终,当所有layer = 1完成后,它将继续连接layer = 2

因此,对于此示例,输出将为:

(1,1,1) // Start from the left, bottom-most point
(1,1,2)
(1,1,3) // Top most section now
(1,2,1) // Returns back to the bottom section
(1,2,3) // Not (2,2,2) as it has to connect all blocks with the same layer 
        // first.
(1,3,3) // Since (1,3,1) and (1,3,2) does not exist, and we have not filled up all the layer 1 yet.
(2,3,1) // All the layer 1's are completed, we can now start with layer 2, from bottom-up.
(2,2,2)
(2,4,3)

enter image description here

0 个答案:

没有答案