1 条题解

  • 0
    @ 2025-10-8 16:48:51
    #include<bits/stdc++.h>
    using namespace std;
    struct node{int o2,n2,w;}a[1100];
    int f[25][100];
    int main() 
    {
        int O2,N2,n;scanf("%d%d%d",&O2,&N2,&n);
        for(int i=1;i<=n;i++) scanf("%d%d%d",&a[i].o2,&a[i].n2,&a[i].w);
        memset(f,63,sizeof(f));
        f[0][0]=0;
        for(int i=1;i<=n;i++)
        {
            for(int j=O2;j>=0;j--)
                for(int k=N2;k>=0;k--)
                {
                    int x=min(O2,j+a[i].o2);
                    int y=min(N2,k+a[i].n2);
                    f[x][y]=min(f[x][y],f[j][k]+a[i].w);
                }
        }
        printf("%d\n",f[O2][N2]);
        return 0;
    }
    
    • 1

    信息

    ID
    255
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    170
    已通过
    62
    上传者