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];

對了,上面說到的規格都是大的一邊在前的,第三個字母代表高度

剩下的就是排序了,

按照長邊降序排序,

如果長邊相等,按照短邊降序排序

。。。

 

最後就是求最大值了

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章