1. 程式人生 > >#1043 : 完全背包

#1043 : 完全背包

mat can import ner ati main ava stat tint

與01背包區別是:need[i]可以重復

import java.util.*;
public class Main {
public static void main(String[] args)
{
//用一維數組實現
Scanner sc=new Scanner(System.in);
int n,m;
n=sc.nextInt();
m=sc.nextInt();
int need[] =new int[n];
int val[]=new int[n];
int f[]=new int[m+1];

for(int i=0;i<n;i++)
{
need[i]=sc.nextInt();
val[i]=sc.nextInt();
}
for(int i=0;i<n;i++)
{
// for(int j=m;j>=need[i];j--) 01背包解法
for(int j=need[i];j<=m;j++)
{

f[j]=Math.max(f[j],f[j-need[i]]+val[i]);
}
}
System.out.println(f[m]);
}
}

舉這個例子好理解

3 8
4 8
2 5
3 10

#1043 : 完全背包