作者lovesnake (【忠犬攻一枚】)
站内Programming
标题[问题] 排列组合,相同物品分发制不同容器
时间Sat Apr 14 00:43:24 2012
求标题之演算法
其实就是分堆啦
假设有五个东西,分成三堆有几种分法这样
1 1 3
1 2 2
2 1 2
2 2 1
1 3 1
3 1 1
没有按照顺序,不过需要列印出来的大概像这样。
因为是分到不同容器所以会有差别,所以内部是个SET而不是序列。相同的不能删。
谢谢!!
已经想过很多方法,不过最终只做到东西的数量<堆数*2的时候才能成功。
大於的演算法始终想不出来。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.216.68
1F:推 LPH66:直接用递回如何? 140.112.28.91 04/14 01:14
2F:→ lovesnake:一语惊醒梦中人! 我还一直想用迭代 140.121.216.68 04/14 10:23
3F:→ lovesnake:不过果然还是想迭代XD 不知有人有解吗? 140.121.216.68 04/14 10:24
4F:→ yauhh:迭代跟递回差别,只是程式结构差别而已. 61.231.67.34 04/14 10:30
5F:→ lovesnake:重点是想法...迭代的想法想不出来 140.121.216.68 04/14 10:33
6F:→ lovesnake:好像三层for回圈出得来? 140.121.216.68 04/14 10:34
突然想到....用递回似乎只能针对单一情况?
分三堆~分四堆的递回式好像不同?
这样似乎不行Orz
我想求的演算法是适用於各种情形的~ N个物品分K堆 N > 0 、 K > 0
可能是我想不到,还请高手指点。
※ 编辑: lovesnake 来自: 140.121.216.68 (04/14 10:36)