记录编号 318660 评测结果 AAAAAAAAAA
题目名称 [POI 1998] 潜水员的问题 最终得分 100
用户昵称 Gravatarliu_runda 是否通过 通过
代码语言 C++ 运行时间 0.044 s
提交时间 2016-10-09 19:39:08 内存使用 0.31 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
int f[105][105];
int w[1005],o[1005],d[1005];
int limo,limd,n;
int min(int a,int b){
    return a<b?a:b;
}
int main(){
    freopen("ple.in","r",stdin);
    freopen("ple.out","w",stdout);
    scanf("%d%d",&limo,&limd);
    scanf("%d",&n);
    for(int i=1;i<=n;++i){
        scanf("%d%d%d",o+i,d+i,w+i);
    }
    memset(f,63,sizeof(f));
    f[0][0]=0;
    int _d,_o;
    for(int i=1;i<=n;++i){
        for(int j=limo;j>=0;--j){
            for(int k=limd;k>=0;--k){
                _o=min(j+o[i],limo);_d=min(k+d[i],limd);
                f[_o][_d]=min(f[_o][_d],f[j][k]+w[i]);
            }
        }
    }
    printf("%d\n",f[limo][limd]);
    fclose(stdin);fclose(stdout);
    return 0;
}