我有一系列任意的乐高积木。我也有一些由3块乐高积木制成的数字。我想知道我可以创建当前乐高积木阵列的数字组合数量。
任何人都有一些参考资料,所以我可以解决这个问题吗?
我可以使用哪些算法?我可以用任何理论吗?
提前感谢您提供的任何帮助。
/汉斯
答案 0 :(得分:5)
您是否相信这样的问题,或者至少是他们的一般情况,实际上仍然是开放研究问题?你在这里做真正的数学研究。 ;)
从文本中略过,似乎他们分两种方式解决了问题:
提示:即使对于少量砖块,可能的组合数量大。这就是LEGO如此有趣的原因。
答案 1 :(得分:1)
根据您期望的计算复杂性,您可以使用动态编程。
让x1,x2,... xk成为一个解决方案,使x1副本组合1,x2副本组合2 ....
F([])= F([x1 = 0] + F([x1 = 1] ......
F([x1])= F([x1,x2 = 0])+ F([x1,x2 = 1])....
这个解决方案的复杂性是O(n ^ k),其中n是砖的数量,k是数字的数量。