import java.util.*;
public class 运动员最多拿多少分 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=10;
int [][]actions={{1,1},{2,3},{3,5},{5,10},{7,9},{8,10}};
int[]num=new int[actions.length+1];
for(int i=1;i<num.length;i++){
num[i]=actions[i-1][0];
}
//int[][]dp=new int[num.length][n+1];
int[][]values=new int[num.length][n+1];
for(int i=1;i<values.length;i++){
for(int j=1;j<n+1;j++){
if(j>=num[i]){
values[i][j]=Math.max(values[i-1][j],values[i-1][j-num[i]]+actions[i-1][1]);
}else{
values[i][j]=values[i-1][j];
}
}
}
// for(int i=0;i<values.length;i++){
// for(int j=0;j<values[i].length;j++){
// System.out.print(values[i][j]+" ");
// }
// System.out.println();
// }
System.out.println(values[values.length-1][n]);
}
}
装箱问题——最多拿多少分java
最新推荐文章于 2025-05-23 17:03:50 发布