题目

题意:研究人员要测试猴子的IQ,将香蕉挂到一定高度,给猴子一些不同大小的箱子,箱子数量不限,让猩猩通过叠长方体来够到香蕉。 现在给你N种长方体, 要求:位于上面的长方体的长和宽  要小于  下面长方体的长和宽。

思路:对于一种长方体,长宽高(a,b,c)有6总不同的组成方式{(a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b),(c,b,a) },对所有组成方式的长方体从小到大排序,比较满足长1<长2,宽1<宽2,的最大高度。

dp[i]: 表示第i个盒子的高 + 前i-1个盒子在满足(x1<x2,y1<y2)的情况下可以组成的最大的高度

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int Max = 200+10;
//dp[i]:表示第i个盒子的高+前i-1个盒子在满足(x1<x2,y1<y2)的情况下可以组成的最大的高
int dp[Max];
struct node{
int x,y,z;
};
node no[Max];
int cmp(node a,node b)
{
if(a.x==b.x) return a.y<b.y;
else return a.x<b.x;
}
int main()
{
int n,x,y,z;
int Case =1;
while(cin>>n)
{
if(n==0) break;
int cnt = 0;
for(int i=0;i<n;i++)
{
cin>> x >> y >>z;
no[cnt].x = x,no[cnt].y=y,no[cnt++].z=z;
no[cnt].x = x,no[cnt].y=z,no[cnt++].z=y;
no[cnt].x = y,no[cnt].y=x,no[cnt++].z=z;
no[cnt].x = y,no[cnt].y=z,no[cnt++].z=x;
no[cnt].x = z,no[cnt].y=x,no[cnt++].z=y;
no[cnt].x = z,no[cnt].y=y,no[cnt++].z=x;
}
sort(no,no+cnt,cmp);
dp[0]=no[0].z;
int maxh;
for(int i=1;i<cnt;i++)
{
maxh=0;
for(int j=0;j<i;j++)
{
if(no[j].x<no[i].x&&no[j].y<no[i].y)
maxh = max(maxh,dp[j]);;
}
dp[i] = no[i].z+maxh;
}
maxh=0;
for(int i=0;i<cnt;i++)
if(dp[i]>maxh) maxh = dp[i];
printf("Case %d: maximum height = %d\n",Case++,maxh);
}
return 0;
}

最新文章

  1. Golang友团无闻Go语言Web基础视频教程
  2. viso2010从mysql中导出ER图
  3. NodeJs爬虫—“眼睛好看是一种什么样的体验?”
  4. wpf中dropdownButton控件下拉居中。。。
  5. php session 跨页失效问题
  6. CMD设IP
  7. HW7.9
  8. Struct2 拦截器
  9. winphone 开发学习笔记(2)
  10. UIWebView执行JS语句
  11. php简单数据缓存类
  12. asp.net 二级域名session共享
  13. R语言︱大数据集下运行内存管理
  14. 【WebAPI No.3】API的访问控制IdentityServer4
  15. [物理学与PDEs]第1章第3节 真空中的 Maxwell 方程组, Lorentz 力 3.2 Lorentz 力
  16. 在.net中怎么解析json串 [Error reading JObject from JsonReader. Current JsonReader item is not an obj]
  17. 简单易懂的程序语言入门小册子(4):基于文本替换的解释器,递归,如何构造递归函数,Y组合子
  18. iOS 指纹解锁 验证TouchID
  19. Amazon onsite behavior question
  20. Google C++ 代码规范

热门文章

  1. pyqt5 -——介绍及和pycharm的环境搭建
  2. ElasicSearch(4) 与jest结合
  3. 通过adb启动app应用
  4. SQL Server 中的6种事务隔离级别简单总结
  5. 使用idea生成maven项目的jar包(转)
  6. R语言-图的要素颜色
  7. k8s之配置flanneld网络
  8. IP路由配置之---------debugging调试
  9. trap实现跳板机
  10. 22. Generate Parentheses产生所有匹配括号的方案