zoukankan      html  css  js  c++  java
  • 分类讨论——NCPC 2019 B

    把情况考虑清楚,分类讨论不太复杂

    第一种情况:1+1+1形式

    第二种情况:1+2形式

    然后枚举每个矩形边长a作为底还是边长b作为底就行

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long 
    
    ll p[4][2];
    
    int main(){
        int t;cin>>t;
        while(t--){
            for(int i=1;i<=3;i++){
                cin>>p[i][0]>>p[i][1];
                if(p[i][0]>p[i][1])
                    swap(p[i][0],p[i][1]);
            }
            ll w,h,ans=0x3f3f3f3f3f3f3f3f;
            for(int i=0;i<2;i++)
                for(int j=0;j<2;j++)
                    for(int k=0;k<2;k++){
                        w=p[1][i]+p[2][j]+p[3][k];
                        h=max(p[1][i^1],max(p[2][j^1],p[3][k^1]));
                        ans=min(ans,h*w);
                    }
            
            for(int i=0;i<2;i++){
                for(int j=0;j<2;j++)
                    for(int k=0;k<2;k++){
                        //p[1]在最左边
                        w=p[1][i]+max(p[2][j],p[3][k]);
                        h=max(p[1][i^1],p[2][j^1]+p[3][k^1]);
                        ans=min(ans,w*h);
                        
                        //p[2]在最左边
                        w=p[2][i]+max(p[1][j],p[3][k]);
                        h=max(p[2][i^1],p[1][j^1]+p[3][k^1]);
                        ans=min(ans,w*h);
                        
                        //p[3]在最左边
                        w=p[3][i]+max(p[1][j],p[2][k]);
                        h=max(p[3][i^1],p[1][j^1]+p[2][k^1]);
                        ans=min(ans,w*h);
                        
                    }
            } 
            
            cout<<ans<<'
    ';
        }
    }
  • 相关阅读:
    codeforces 484D D. Kindergarten(dp)
    codeforces 484B B. Maximum Value(二分)
    codeforces 484A A. Bits(贪心)
    51nod-1537 1537 分解(矩阵快速幂+找规律)
    大数取模
    小明的烦恼
    子网掩码
    How Many Tables
    N的N次方
    外星人的供给站
  • 原文地址:https://www.cnblogs.com/zsben991126/p/12814242.html
Copyright © 2011-2022 走看看