我给出了N个数字,并为他们应用有关其顺序的M个规则。规则用一对索引来表示,每一对(A,B)都告诉索引A(第A个数字)的数字必须在第B个数字之后 - 它不必紧挨着他。查找与一组规则匹配的所有排列
Ex: N = 4
1 2 3 4
M = 2
3 2
3 1
Output: 1234, 4213, 4123, 2134, 2143, 2413, 1423 ...Maybe there are even more:)
算法应该给我所有的排列可以不打破规则,比如上例中 - 3必须始终为1后
2之后,我尝试暴力破解,但它没”吨工作(虽然bruteforce应该在这里工作,N是在范围内(1,8)。)
任何想法?
你能解释一下N数是如何进入这个的吗?如果N的值在{1,2,3,4},那么答案会是什么? – 2010-02-27 00:44:27
从我所看到的情况来看,你给出的N个数字与你所问的问题无关。它是否正确? – sykora 2010-02-27 00:44:34
N是有多少数字,在这种情况下N = 4,因为有四个数字,1..4。 – VaioIsBorn 2010-02-27 00:57:13