解题思路:
注意事项:
参考代码:
Scanner sc = new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int[][] wi=new int[n+1][2];
for (int i = 1; i <=n; i++) {
wi[i][0]=sc.nextInt();///重量
wi[i][1]=sc.nextInt();//质量
}
int[][] dp=new int[n+1][m+1];
for (int i = 1; i <=n; i++) {
for (int j = 1; j <=m; j++) {
if (wi[i][0]>j) {
dp[i][j]=dp[i-1][j];
}else {
dp[i][j]=Math.max(dp[i-1][j],wi[i][1]+dp[i][j-wi[i][0]]);
}
}
}
System.out.println("max="+dp[n][m]);
0.0分
3 人评分
上车人数 (C语言代码)浏览:1861 |
A+B for Input-Output Practice (III) (C++代码)浏览:898 |
简单的a+b (C语言代码)浏览:1137 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:1414 |
C语言训练-排序问题<1> (C语言代码)浏览:1411 |
钟神赛车 (C语言代码)浏览:911 |
Tom数 (C++代码)浏览:868 |
简单的a+b (C++语言代码)浏览:895 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1685 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:821 |