1 条题解

  • 1
    @ 2024-11-1 23:11:42

    用c++提交,不过还是c语言的写法,不会的可以去看01背包问题

    #include <stdio.h>

    #include <algorithm>

    using namespace std;

    int main()

    {

    int n,m;

    scanf("%d %d",&n,&m);

    int dp[100][1001];

    int t[10017],v[1001];

    for(int i=0;i<m;i++){

    scanf("%d %d",&t[i],&v[i]);

    }

    for(int i=0;i<=m;i++){

    for(int j=n;j>=0;j--){

    if(j>=t[i]){

    dp[i][j]=max(dp[i-1][j],dp[i-1][j-t[i]]+v[i]);

    }else{

    dp[i][j]=dp[i-1][j];

    }

    }

    }

    printf("%d\n",dp[m][n]);

    return 0;

    }

    • 1

    信息

    ID
    224
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    319
    已通过
    41
    上传者