HDOJ-Monkey and Banana-动态规划

题意:对于给定的n中类型的长方体,怎么样堆起来才能有最大的高度;

约束条件。下面的长方体的上表面要大于上面得下表面,切不能有一条边是长度相同

题目说任意类型的长方体的数量是无限的,其实最多用的到的也就3块

另外假设长方体规格是 a x b x c

if(a==b==c)  

    then 取axbxc的一块

if(a==b!=c)

    then 取 axbxc 一块 取axcxb一块

if(a!=b==c)

    同上

其余情况即三边都不相等

    取axbxc, axcxb, bxcxa

 

题目说n最大30,所以数组最大需要3x30

struct Node{
    int x, y, z;
}aa[100];

对了,上面说到的规格都是大的一边在前的,第三个字母代表高度

剩下的就是排序了,

按照长边降序排序,

如果长边相等,按照短边降序排序

。。。

 

最后就是求最大值了

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值