http://www.cnblogs.com/eastjade/archive/2011/06/22/2086828.html
算法的讨论,大家帮忙推荐一下,也来参与一下:)
cnblogs 首页讨论有一堆木棒长度在 1m - 21m之间(长度为整数),用户拥有的木棒长度也是用户自定义,的数量用户自定义
其中的一组样例数据是10m 的木棒 300跟, 14m 的木棒223跟, 18m 的木棒412跟, 2米的木棒301跟, 5米的木棒 48跟
我要求的是,这些木棒最多可以组成多少个 21米长的木棒?(木棒不可以切割,只可以拼接)。
算法的讨论,大家帮忙推荐一下,也来参与一下:)
cnblogs 首页讨论有一堆木棒长度在 1m - 21m之间(长度为整数),用户拥有的木棒长度也是用户自定义,的数量用户自定义
其中的一组样例数据是10m 的木棒 300跟, 14m 的木棒223跟, 18m 的木棒412跟, 2米的木棒301跟, 5米的木棒 48跟
我要求的是,这些木棒最多可以组成多少个 21米长的木棒?(木棒不可以切割,只可以拼接)。
我举的例子已经是一个很简单的例子了,但是如果完全不减枝,只用最普通的穷举,已经超过double的长度了,所以的确很麻烦
1、14+2
2、10+2+2+2
如果 5m 的是 480 根,就更难了10m 的木棒 300跟, 14m 的木棒223跟, 18m 的木棒412跟, 2米的木棒301跟, 5米的木棒 480跟1、5+14+2: 223
2m 的剩 301-223 = 78
78/3 = 26有: 249
举例道还好算。
都不定,就很麻烦了
我的长度优先原则算法
http://www.cnblogs.com/52x/archive/2011/06/22/2087389.html 大家可以看看