zoukankan      html  css  js  c++  java
  • Monkey and Banana (hdu 1069)

     

    题目描述:

    给你n个箱子, 给你箱子的长宽高,箱子是可以无限使用的,问这些箱子摞起来最多能多高? 这些箱子摞起来有个规定,下面箱子的长和宽必须大于上面箱子的长和宽。
     
    DP思路:dp[i]  代表第  i  个箱子在最上方的时候所摞起来的最大高度。
     
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<queue>
    #include<vector>
    #include<algorithm>
    using namespace std;
     
    #define EPS 1e-6
    #define INF 0x3f3f3f3f
    #define N 1000
    #define met(a,b) (memset(a,b,sizeof(a)))
     
    struct Box
    {
        int L, W, H;
        Box(int LL=0, int WW=0, int HH=0):L(LL), W(WW), H(HH)
        {
            if(L>W) swap(L, W);
        }
        bool friend operator < (Box n1, Box n2)
        {
            if(n1.L != n2.L)
                return n1.L > n2.L;
            else if(n1.W != n2.W)
                return n1.W > n2.W;
            return n1.H > n2.H;
        }
    }a[N];
     
    int dp[N];
     
    int main()
    {
        int n, iCase=1;
     
        while(scanf("%d", &n), n)
        {
            int i, j, x, y, z, k=0, Max = 0;
     
            met(a, 0);
            met(dp, 0);
     
            for(i=0; i<n; i++)
            {
                scanf("%d%d%d", &x, &y, &z);
                a[k++] = Box(x, y, z);
                a[k++] = Box(x, z, y);
                a[k++] = Box(y, z, x);
            }
     
            sort(a, a+k);
     
            for(i=0; i<k; i++)
            {
                dp[i] = a[i].H;
                for(j=0; j<i; j++)
                {
                    if(a[i].L<a[j].L && a[i].W<a[j].W)
                        dp[i] = max(dp[i], dp[j] + a[i].H);
                }
                Max = max(Max, dp[i]);
            }
     
            printf("Case %d: maximum height = %d
    ", iCase++, Max);
        }
        return 0;
    }
     
     
    勿忘初心
  • 相关阅读:
    收藏了!主流应用市场产品提交资料汇总!
    Oracle用户、权限、角色管理
    H3C SNMP配置解析
    从实战角度浅析snmp
    ICE checkbox 用法
    eclipse序列化生成serialVersionUID
    Bat命令学习
    app生成工具
    微软浏览器兼容工具modern.IE
    php判断手机客户端
  • 原文地址:https://www.cnblogs.com/YY56/p/5416077.html
Copyright © 2011-2022 走看看