编辑代码

#include<iostream>
#include<stdio.h>
using namespace std;
 
void Knapsack(int n,int c,int *w,int *p){
	  int f[100][100];
	int i=0,j=0;
	for(i=1;i<=n;i++){
		for(j=1;j<=c;j++){
			f[i][j]=f[i-1][j];
			if(j>=w[i]){
				f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+p[i]);
			}
		}
	}

	cout<<"背包能装的最大价值是:" << f[i-1][j-1] <<endl;
}
int main(){
    int n;
    int c;
		c=10;   //背包容量c
		n=5;    //物体个数n
		int w[6]={6,5,4,2,1};   //物重w
        int p[6]={5,3,5,3,2};   //物价p 
		Knapsack(n,c,w,p);
		
}