请问一下,背包这样写,80分咋搞
查看原帖
请问一下,背包这样写,80分咋搞
684890
Rhss楼主2022/8/3 19:41
#include <bits/stdc++.h>
#define nx 1009
using namespace std;
int dp[nx][nx];
int V;
int a[nx];
int n;
int main(){
	cin>>V>>n;
	for(int i = 1;i<=n;++i){
		cin>>a[i];
	}
	fill(dp[0],dp[0]+nx*nx,0);
	for(int i = 1;i<=n;++i){
		for(int j = 1;j<=V;++j){
			if(j>=a[i]){
				dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i]]+a[i]);
			}else{
				dp[i][j]=dp[i-1][j];
			}
		}
	}
	cout<<V-dp[n][V];
	return 0;
}

2022/8/3 19:41
加载中...