01背包

 

 例1:

 

 

import java.util.Scanner;
class jianbaozang{
    public static void main(String[] args) 
    {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int c=sc.nextInt();
        int []a=new int[1001];
        int []b=new int[1001];
        for (int i=1;i<=n ;i++ )
        {
            a[i]=sc.nextInt();
            b[i]=sc.nextInt();
        }
        int [][]dp=new int[1001][1001];
        dp[0][0]=0;
        for (int i=1;i<=n ;i++ )
        {
            for (int j=1;j<=c;j++ )
            {
                if (j<a[i])
                {
                    dp[i][j]=dp[i-1][j];
                }else{
                    dp[i][j]=Math.max(dp[i-1][j],dp[i-1][j-a[i]]+b[i]);
                }
            }
        }
        System.out.println(dp[n][c]);
    }
}
原文地址:https://www.cnblogs.com/pythonbigdata/p/12792402.html