现有一个容量大小为V的背包和N件物品,每件物品有两个属性,体积和价值,请问这个背包最多能装价值为多少的物品?
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int capicaty = sc.nextInt();
int nums = sc.nextInt();
int[] w = new int[nums + 1];
int[] v = new int[nums + 1];
for(int i = 1; i < nums + 1; i++){
w[i] = sc.nextInt();
v[i] = sc.nextInt();
}
int[][] dp = new int[nums + 1][capicaty + 1];
for(int i = 1; i < nums + 1; i++){
for(int j = 1; j <= capicaty; j++){
if(w[i] > j){
dp[i][j] = dp[i - 1][j];
}else{
dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - w[i]] + v[i]);
}
}
}
System.out.println(dp[nums][capicaty]);
}
}