題意:對於給定的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];
對了,上面說到的規格都是大的一邊在前的,第三個字母代表高度
剩下的就是排序了,
按照長邊降序排序,
如果長邊相等,按照短邊降序排序
。。。
最後就是求最大值了