对于每一个盒子,我们保存6分,分别表示不同的xyz。

之后就类似求最长子序列了

#include <cstdio>

#include <cstring>
#include<algorithm>
#include <iostream>
using namespace std;
struct nodee
{
    int a,b,c;

}node[1000];

int dp[1000];
bool cmp(nodee t1,nodee t2)
{
    if(t1.a==t2.a)
        return t1.b>t2.b;
    return t1.a>t2.a;
}
int main()
{
    int t;
    int aa,bb,cc;
    int zong=0;
    while(scanf("%d",&t)!=EOF&&t)
    {
        zong++;
        int cnt=0;
        memset(dp,0,sizeof(dp));
        for(int i=1;i<=t;i++)
        {
            cin>>aa>>bb>>cc;
            node[cnt].a= aa;
            node[cnt].b= bb;
            node[cnt].c= cc;
            cnt++;
            node[cnt].a= aa;
            node[cnt].b=cc;
            node[cnt].c=bb;
            cnt++;
             node[cnt].a=bb;
            node[cnt].b=aa;
            node[cnt].c=cc;
            cnt++;
             node[cnt].a=bb;
            node[cnt].b=cc;
            node[cnt].c=aa;
            cnt++;
             node[cnt].a=cc;
            node[cnt].b=aa;
            node[cnt].c=bb;
            cnt++;
              node[cnt].a=cc;
            node[cnt].b=bb;
            node[cnt].c=aa;
            cnt++;
        }
        sort(node,node+cnt,cmp);
        int ans=-1;
        for(int i=0;i<cnt;i++)
        {
            dp[i]=node[i].c;
            for(int j=0;j<i;j++)
            {
                if(node[i].a<node[j].a&&node[i].b<node[j].b)
                {
                    dp[i]=max(dp[i],dp[j]+node[i].c);
                }
            }
            ans=max(ans,dp[i]);
        }
        cout<<"Case "<<zong<<": maximum height = "<<ans<<""<<endl;

}
}

HDU - 1069 C - Monkey and Banana相关推荐

  1. 【HDU 1069】Monkey and Banana(dp+sort结构体排序)

    点击打开题目 Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  2. 【HDU - 1069】Monkey and Banana (最长下降子序列 + 贪心,最长上升子序列类问题)

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

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

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

  4. 动态规划训练15 [Monkey and Banana HDU - 1069 ]

    Monkey and Banana HDU - 1069 题意大致是将一个长方体通过旋转,使得摞起来的建筑最高.但是必须满足这么一个条件,那就是上面的长方体的底面一定要完全被下一个长方体的底面完全覆盖 ...

  5. [kuangbin带你飞]专题十二 基础DP1 C - Monkey and Banana HDU - 1069

    C - Monkey and Banana HDU - 1069 题目链接:https://vjudge.net/contest/68966#problem/C 题目: A group of rese ...

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

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

  7. HDUOJ 1069 Monkey and Banana

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

  8. HDOJ 1069 Monkey and Banana

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

  9. (动态规划 最长有序子序列)Monkey and Banana --HDU --1069

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1069 http://acm.hust.edu.cn/vjudge/contest/view.action ...

最新文章

  1. Scrum 冲刺博客第四篇
  2. 快速排序--Python实现
  3. java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
  4. Bootstrap Table列宽拖动的方法
  5. 线性地址到物理地址的映射
  6. MOSS项目开发 周记(第一周)
  7. python中的ftplib模块
  8. 20191129每日一句
  9. oracle mysql 推荐书籍
  10. AI代替法官?你了解智慧司法的建设与应用吗
  11. ubuntu关闭网络防火墙后,外网依然不能连接ubuntu的端口
  12. SVN更新或提交时出现冲突该如何解决
  13. HTTP状态信息和描述
  14. 【CSDN软件工程师能力认证学习精选】不用框架,python实现卷积神经网络
  15. ATFX:美元指数阶段性走弱,EURUSD重回平价线上方
  16. Qt开发经验小技巧241-245
  17. Windows常用命令
  18. 人工智能革命:人类永生还是灭亡(中)
  19. 振动盘的底盘有哪几种类型
  20. “哈啰出行” 进入公共交通,哈罗的情商摩拜比不了!

热门文章

  1. fastreport连接mysql
  2. 计算机组装声卡,计算机组装与维护教程之声卡.pdf
  3. 一星级挑战:03 盈亏问题
  4. 标签打印软件如何批量打印小程序码图片
  5. 未解决极点五笔变半行的问题
  6. 51单片机:直流电机与步进电机
  7. 基于fabric的联盟链管理项目
  8. ubuntu中meshlab安装
  9. 生产计划进度需时刻跟进
  10. 软件设计23种设计模式