题意:对于给定的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];
对了,上面说到的规格都是大的一边在前的,第三个字母代表高度
剩下的就是排序了,
按照长边降序排序,
如果长边相等,按照短边降序排序
。。。
最后就是求最大值了