讨论 / C用个递归16行代码就够了
517639003 2018-01-23 23:54:26
点我顶贴 收藏 删除
#include<stdio.h>

int dp[30001], v[26], w[26];

int N, m;

int main()

{

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

int i, j;

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

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

dp[0] = 0;

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

for(j = N; j >= v[i]; j--)

dp[j] = (dp[j])>(dp[j-v[i]] + v[i] * w[i])?dp[j]:dp[j-v[i]] + v[i] * w[i];

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

return 0;

}

查看更多回复
提交回复