1271:【例9.15】潜水员

潜水员

 1 #include<iostream>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 
 6 const int N=1005;
 7 int a[N],b[N],c[N],f[105][105];
 8 int main(){
 9     int m,n,t;
10     memset(f,127,sizeof(f));
11     f[0][0]=0;
12     cin>>m>>n>>t;
13     for(int i=1;i<=t;i++)cin>>a[i]>>b[i]>>c[i];
14     for(int i=1;i<=t;i++)
15         for(int j=m;j>=0;j--)
16             for(int k=n;k>=0;k--){
17                 int t1=min(m,j+a[i]),t2=min(n,k+b[i]);
18                 f[t1][t2]=min(f[t1][t2],f[j][k]+c[i]);//f[i][j]表示得到i氧气j氮气所需的最少重量
19             }
20     cout<<f[m][n];
21     return 0;
22 }

 

新知识
  • memset会将指定的初始化值化为8位2进制铺满字节
posted @ 2021-08-16 20:01  Rekord  阅读(778)  评论(0)    收藏  举报