解题思路:
注意事项:
参考代码:
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语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:563 |
人见人爱A+B (C语言代码)浏览:625 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:449 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:555 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
关于C语言变量位置的问题浏览:272 |
Minesweeper (C语言描述,蓝桥杯)浏览:1122 |
1014题解浏览:484 |