苹果

来源:互联网 发布:诸葛亮知天下事 编辑:程序博客网 时间:2024/05/15 10:48

这里写图片描述

#include<stdio.h>#include<string.h>#define MAX(a,b) (a > b ? a : b)int main(){    int n, v;    while (~scanf("%d%d",&n, &v) && n + v != 0)    {        int i, j, volume, value, dp[v+1];        memset(dp, 0, sizeof(dp));        for (i = 1; i <= n; i++)        {            scanf("%d%d",&volume, &value);            for (j = v; j >= volume; j--)                dp[j] = MAX(dp[j], dp[j-volume] + value);        }        printf("%d\n",dp[v]);    }    return 0;}/*int main(){    int n, v;    while (~scanf("%d%d",&n, &v) && n + v != 0)    {        int i, j, volume[n+1], value[n+1];        memset(volume, 0, sizeof(volume));        memset(value, 0, sizeof(value));        for (i = 1; i <= n; i++)            scanf("%d%d",&volume[i], &value[i]);        int dp[n+1][v+1];        memset(dp, 0, sizeof(dp));        for (i = 1; i <= n; i++)        {            for (j = 1; j <= v; j++)            {                if (volume[i] > j)                    dp[i][j] = dp[i-1][j];                else                    dp[i][j] = MAX(dp[i-1][j], dp[i-1][j-volume[i]]+value[i]);            }        }        printf("%d\n",dp[n][v]);    }    return 0;}*/
原创粉丝点击