张乐飞


私信TA

用户名:anmyi

访问量:8105

签 名:

等  级
排  名 480
经  验 4681
参赛次数 0
文章发表 55
年  龄 0
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

TA的其他文章

摆花懂得都懂
浏览:151
完全背包3for
浏览:102
懂得都懂装箱
浏览:154

解题思路:

注意事项:

参考代码:

Scanner scanner=new Scanner(System.in);
int m=scanner.nextInt();
int n=scanner.nextInt();
int [][] arr=new int [n+1][m+1];
int [] v=new int [n+1];
int [] c=new int [n+1];
for (int i = 1; i <= n; i++) {
v[i]=scanner.nextInt();
c[i]=scanner.nextInt();
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <=m; j++) {
for (int k = 0; k*v[i]<=m ; k++) {
if (j<k*v[i]) {
arr[i][j]=arr[i][j];
}else {
arr[i][j]=Math.max(arr[i][j], arr[i-1][j-k*v[i]]+k*c[i]);
}
}
}
}
System.out.println("max="+arr[n][m]);


 

0.0分

0 人评分

  评论区

  • «
  • »