苏结弦


私信TA

用户名:four4

访问量:3380

签 名:

。。。。

等  级
排  名 1467
经  验 2750
参赛次数 0
文章发表 11
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

 

0.0分

4 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

#include <iostream>
#include <stdio.h>
#include <string.h>
int max(int a,int b){
	return a>b?a:b;
}
int main(int argc, char *argv[]) {
	int n,m,i,j; 
	scanf("%d%d",&n,&m);
	int w[n+1],v[n+1],dp[n+1][m+1];
	memset(dp,0,sizeof(int)*(n+1)*(m+1));
	for(i=1;i<n+1;i++){
		scanf("%d%d",&w[i],&v[i]);
	}
	for(i=1;i<n+1;i++){
		for(j=1;j<m+1;j++){
			if(w[i]>j){
				dp[i][j]=dp[i-1][j];
			}else{
				dp[i][j]=max(dp[i-1][j],dp[i][j-w[i]]+v[i]);
			}
		}
	}
	printf("max=%d",dp[n][m]);
	return 0;
}
我的简单的动态规划算法求解
2020-10-08 20:11:23
  • «
  • 1
  • »