完全背包
2025-09-07 19:43:14
发布于:北京
1阅读
0回复
0点赞
完全背包 启动!
#include <bits/stdc++.h>
using namespace std;
int price[101][101],t,n,m,dp[10001];
int main(){
cin>>t>>n>>m;
for(int i=1;i<=t;i++){
for(int j=1;j<=n;j++){
cin>>price[i][j];
}
}
for(int i=1;i<=t;i++){
memset(dp,-1,sizeof(dp));
dp[m]=m;
for(int j=1;j<=n;j++){
for(int k=m;k>=price[i][j];k--){
dp[k-price[i][j]]=max(dp[k-price[i][j]],dp[k]+price[i+1][j]-price[i][j]);
}
}
int w=0;
for(int j=0;j<=m;j++){
w=max(w,dp[j]);
}
m=w;
}
cout<<m;
return 0;
}
这里空空如也
有帮助,赞一个