题意:给你n种个长方体,告诉你每种长方体的长,宽,高,并且每种长方体个数不限

问:把它们堆起来的最大高度

限制条件:上面一个长方体a的底面积,必须比它下面一个长方体b的底面积大,而且,a的底面的长宽也要大于b的底面的长宽

所以,b的底面积如果比a的底面积小,b也不一定能放在a上面

View Code

#include <iostream>#include <algorithm>

using namespace std;

struct node{int a,b,h,area;}ar[100];

int cmp(node a,node b){return a.area>b.area;}

int main(){int i,j,k=1,n,m,ans,a,b,c,dp[100];while (cin>>n&&n)    {        m=0;for (i=0;i<100;i++)dp[i]=0;for (i=0;i<n;i++)        {            cin>>a>>b>>c;            ar[m].area=a*b,ar[m].a=a,ar[m].b=b,ar[m++].h=c;            ar[m].area=b*c,ar[m].a=b,ar[m].b=c,ar[m++].h=a;            ar[m].area=a*c,ar[m].a=a,ar[m].b=c,ar[m++].h=b;        }        sort(ar,ar+m,cmp);        dp[0]=ar[0].h;        ans=0;for (i=1;i<m;i++)        {            dp[i]=ar[i].h;for (j=0;j<i;j++)            {if(ar[i].a<ar[j].a&&ar[i].b<ar[j].b||ar[i].a<ar[j].b&&ar[i].b<ar[j].a)                {                    dp[i]=max(dp[i],dp[j]+ar[i].h);                }            }if(dp[i]>ans)ans=dp[i];        }        cout<<"Case "<<k++<<": maximum height = "<<ans<<endl;    }return 0;}

转载于:https://www.cnblogs.com/104-gogo/archive/2011/10/27/2225993.html

hdu 1069 Monkey and Banana dp相关推荐

  1. HDU 1069 Monkey and Banana(简单图解,经典DP,最大上升子序列变形)

    题目链接 今天做的第二题,感觉比较经典,详细记录一下吧! Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...

  2. HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)

    HDU 1069(动态规划) Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  3. 三维最长上升子序列问题——HDU 1069 Monkey and Banana

    题目: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a ...

  4. hdu(1069)——Monkey and Banana(LIS变形)

    题意: 如今给你n个石块,然后它由坐标来表示(x,y,z).可是它能够有不同的方法,也就是说它的三个坐标能够轮换着来的. 石块的数量不限,可是每次都必须保持上底面的长和宽严格递减,然后问你用这些石块所 ...

  5. hdu 1069 Monkey and Banana (LIS)

    Problem - 1069 随便找到的一道题目. 题意是给出一些的长方体,长方体可以用任意次数,可以任意翻转.如果一个长方体可以叠在另一个长方体上,条件是这个长方体的长和宽严格小于另一个长方体的长和 ...

  6. HDU 1069 Monkey and Banana

    传送门 #include<iostream> #include<algorithm> #include<map> #include<set> #incl ...

  7. hdu 1069 Monkey and Banana 【动态规划】

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

  8. HDUOJ 1069 Monkey and Banana

    HDUOJ 1069 Monkey and Banana 题目链接 Problem Description A group of researchers are designing an experi ...

  9. HDOJ 1069 Monkey and Banana

    1:每一组X,Y,Z对应3个立方体 2:按面积从小到大DP Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

最新文章

  1. 改进型 clock 页面置换算法实现_ID生成算法雪花算法介绍及实现
  2. Dom4j和Xpath(转)
  3. AJAX POST 请求
  4. 使用共享网口方式访问BMC管理控制器
  5. AC_CHECK_LIB的工作原理
  6. php core模块,module.php
  7. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
  8. MongoVue 破解治标不治本
  9. 中风后下肢麻木瘀阻案
  10. 应届生必看的2021互联网行业求职指南,真香!
  11. 【SVG】svg入门
  12. css背景透明(css背景透明度怎么设置)
  13. MapX 控件在C# 中的应用 (一)
  14. VirtualBox:无法访问共享文件夹
  15. 计算机多用户间软件共享文件,计算机文件共享有什么好处
  16. Box and Ball
  17. 计算机微课有哪些类型如何应用,微课在大学计算机基础教学中的应用
  18. mysql数据给mes_PLC通讯智能网关:MES服务对接,SQL数据库双向通讯,HTTP协议GET/POST请求,MQTT协议JSON发布/订阅...
  19. Arcgis面积测量
  20. UserAccount权限控制

热门文章

  1. vue echarts 柱形图封装
  2. service中调用摄像头在无页面显示的情况下进行录像
  3. salesforce 零基础开发入门学习(一)Salesforce功能介绍,IDE配置以及资源下载
  4. 美团八年,学会了什么?
  5. 记录使用svn合并代码(主干合并分支/分支合并主干)
  6. 台湾芯片 制造商新希望
  7. firefox火狐浏览器设置老板键
  8. windows快捷键隐藏桌面所有窗口——“老板键”
  9. 亚马逊云科技:万物互联的“新世界”
  10. 什么是高防IP?高防IP工作原理是什么?