zoukankan      html  css  js  c++  java
  • [JZOJ P1276] [DP]郁闷的潜水员

    @kaike

    传送门

    不会写..弱的一渣。

    其实就是一个二维枚举,依次枚举氧气和氮气

    加上第i个罐子的氧气和氮气

    若氧气大于所要求的就满足

     

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 int yang,dan,n,a[1050],b[1050],c[1050],f[1050][1050];
     6 int main()
     7 {
     8     memset(f,10,sizeof(f));//因为要求最小值,所以初始化一个大值
     9     f[0][0]=0;//前0个罐子满足要求的重量为0
    10     cin>>yang>>dan;
    11     cin>>n;
    12     for(int i=1;i<=n;i++)
    13         cin>>a[i]>>b[i]>>c[i];
    14     for(int i=1;i<=n;i++)//枚举每个罐子
    15         for(int c1=yang;c1>=0;c1--)//枚举氧气
    16             for(int c2=dan;c2>=0;c2--)//枚举氮气
    17             {
    18                 int oo,nn;//oo来记录前i个罐子中气体的体积
    19                 oo=c1+a[i];
    20                 nn=c2+b[i];
    21                 if(oo>yang) oo=yang;//如果罐子中的体积大于需要的,就当成恰好满足,便于求最小值
    22                 if(nn>dan)  nn=dan;
    23                 f[oo][nn]=min(f[oo][nn],f[c1][c2]+c[i]);
    24             }
    25     cout<<f[yang][dan]<<endl;
    26     return 0;
    27 }
    蠢哭了

     

    No matter how you feel, get up , dress up , show up ,and never give up.
  • 相关阅读:
    C#之时间统计
    Unity之屏幕画线
    Unity之坐标转换
    Unity3d之按键
    Unity3d之截图
    [Windows]A盘凭空消失
    函数的多类型传值
    isdigit()
    函数的返回值
    locals()
  • 原文地址:https://www.cnblogs.com/Kaike/p/5955368.html
Copyright © 2011-2022 走看看