zoukankan      html  css  js  c++  java
  • HDOJ 1069_大二写

    AC代码:

    //HDOJ 1069
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #define Max 100
    using namespace std;
    
    struct dimensinos
    {
        int l;
        int w;
        int d;
        long int max_deadline_unit;
    }block[Max];
    
    bool compare(dimensinos a, dimensinos b)
    {
        return a.l*a.w > b.l*b.w ;
    }
    
    int main(void)
    {
        freopen("in.txt","r",stdin);
        int N, count = 1;
        while(scanf("%d",&N) && N)
        {
            int  x, y, z;
            long int max_universe;
            for(int i = 1; i <= N * 3; i++)
            {
                scanf("%d%d%d", &x, &y, &z);
                    block[i].l = x;
                    block[i].w = y;
                    block[i].d = z;
                    
                    block[++i].l = z;
                        block[i].w = x;
                        block[i].d = y;
                    
                    block[++i].l = y;
                        block[i].w = z;
                        block[i].d = x;
                
            }
            sort(block + 1, block + 1 + N * 3, compare);     //面积从大到小排序 
            
            //算法的核心部分 
            block[1].max_deadline_unit = block[1].d;
            max_universe = block[1].max_deadline_unit;
            for(int i = 2; i <= 3*N; i++)
            {
                block[i].max_deadline_unit = block[i].d;
                for(int j = i-1; j >= 1; j--)
                {
                    if(!((block[i].l<block[j].l && block[i].w<block[j].w)||(block[i].l<block[j].w && block[i].w<block[j].l)))
                    {
                        continue;
                    }
                        
                    if(block[i].max_deadline_unit < block[i].d + block[j].max_deadline_unit)
                        block[i].max_deadline_unit = block[i].d + block[j].max_deadline_unit;
                }
                if(max_universe < block[i].max_deadline_unit)
                    max_universe = block[i].max_deadline_unit;
            } 
            
            printf("Case %d: maximum height = %ld
    ", count, max_universe);
            count++;
        }
        
        
        fclose(stdin);
        system("pause");
        return 0;
    }
  • 相关阅读:
    Swift ARC 自动引用计数
    Swift 值类型和引用类型的内存管理
    Swift 栈和堆
    Swift 命令行输入输出
    在 OC 中调用 Swift 代码
    在 Swift 中调用 OC 代码
    Swift 类型桥接
    Swift 与 C 语言混合编程
    Swift Precondition 预处理
    Swift Assert 断言
  • 原文地址:https://www.cnblogs.com/phaLQ/p/9886313.html
Copyright © 2011-2022 走看看