海洋之心


私信TA

用户名:wanggongsheng

访问量:96773

签 名:

2547668411@qq.com是我的邮箱,有问题可以用邮箱联系

等  级
排  名 8
经  验 16793
参赛次数 3
文章发表 163
年  龄 20
在职情况 学生
学  校
专  业

  自我简介:

动态规划:背包问题
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int dp[26][30000];
int main(void)
{
    int money , n  , i  , j , val[26] , im[26] ;
    cin >> money >> n ;
    for(i=1;i<=n;i++)
    cin >> val[i]  >> im[i] ;
    memset(dp,0,sizeof(dp));
    for(i=1;i<=n;i++)
    {
        for(j=0;j<=money ; j++ )
        {
            if( j >= val[i] ) dp[i][j]=max(dp[i-1][j] , dp[i-1][j-val[i]]+ im[i]*val[i] );
            else  dp[i][j] = dp[i-1][j];
        }
    }
    cout << dp[n][money];
    return 0;
}
 

0.0分

1 人评分

  评论区

大佬 怎么判断dp数组开的大小
2019-07-26 12:55:19 | |
int dp[26][30000];
这个为什么放在main函数里就不行了啊。。
2019-04-26 15:13:38 | |
  • «
  • 1
  • »