题目:题目链接

image.png

  1. /**
  2. 没什么好说的,j,k是一个平面,平面被复用了,还有就是,因为是01背包,所以jk都是从大到小的
  3. 还有就是j k 谁在先谁在后无所谓。
  4. */
  5. import java.util.Scanner;
  6. public class Main{
  7. public static void main(String[] arg){
  8. Scanner sc=new Scanner(System.in);
  9. int N=sc.nextInt();
  10. int V=sc.nextInt();
  11. int M=sc.nextInt();
  12. int[][] dp=new int[V+1][M+1];
  13. for(int i=0;i<N;i++){
  14. int v=sc.nextInt();
  15. int m=sc.nextInt();
  16. int w=sc.nextInt();
  17. for(int j=V;j>=v;j--){
  18. for(int k=M;k>=m;k--){
  19. dp[j][k]=Math.max(dp[j][k],dp[j-v][k-m]+w);
  20. }
  21. }
  22. }
  23. System.out.println(dp[V][M]);
  24. }
  25. }