求问
查看原帖
求问
532079
lixian2008楼主2021/10/22 19:54
#include<bits/stdc++.h>
using namespace std;
int V,n,T[1005],f[1001][101],v[1001];
int main(){

	cin>>V>>n;
	for(int i=1;i<=n;i++){
		cin>>T[i]>>v[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=V;j>=0;j--){
			if(j<T[i]){
				f[i][j]=f[i-1][j];
			}
			else{
				f[i][j]=max(f[i-1][j],f[i-1][j-T[i]]+v[i]);
			}
		}
	}

	return 0;
}

为什么第10行的for循环改为for(int j=0;j<=V;j++)就不对了呢?

2021/10/22 19:54
加载中...