| 序号 | 标题 | 作者 | 发表时间 | 费用 | 订购数 | 操作 |
|---|

游戏规则如下:
(1)从N块积木中选出若干块,并将它们分成M(l≤M≤N) 堆,称为第1堆,第2 堆,…,第M堆。每堆至少有1块积木,并且第K堆中任意一块积木的编号要大于第K+1堆中任意一块积木的编号(2≤K≤M)。
(2)对于每一堆积木,游戏者要将它们垂直摞成一根柱子,并要求满足下面两个条件:
①除最顶上的一块积木外,任意一块积木的上表面同且仅同另一块积木的下表面接触,并且要求下面的积木的上表面能包含上面的积木的下表面,也就是说,要求下面的积木的上表面的两对边的长度分别大于等于上面的积木的两对边的长度。
②对于任意两块上下表面相接触的积木,下面的积木的编号要小于上面的积木的编号。
最后,根据每人所摞成的M根柱子的高度之和来决出胜负。
请你编一程序,寻找一种摞积木的方案,使得你所摞成的M根柱子的高度之和最大。