欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 背包模型 二维费用的背包问题

背包模型 二维费用的背包问题

2025/4/24 5:19:59 来源:https://blog.csdn.net/L3102250566/article/details/145328180  浏览:    关键词:背包模型 二维费用的背包问题

昨天写了一个皮卡丘的题。也是二维费用的背包问题。我用那题的思路写了下面的代码。过不去样例。没事。我本来就是要写不出这题的。

#include<iostream>
#include<algorithm>
#include<cstring>using namespace std;const int M=110;
int f[M][M];
int V1,V2;
int n;int main(){scanf("%d%d%d",&n,&V1,&V2);for(int i=0;i<n;i++){int v1,v2,w;scanf("%d%d%d",&v1,&v1,&w);for(int j=V1;j>=v1;j--){for(int k=V2;k>=v2;k--){f[j][k]=max(f[j][k],f[j-v1][k-v2]+w);}}}printf("%d\n",f[V1][V2]);return 0;
}

发现上面出错是因为敲错了一个字母。改了之后就过了。确实比较简单。

#include<iostream>
#include<algorithm>
#include<cstring>using namespace std;const int M=110;
int f[M][M];
int V1,V2;
int n;int main(){scanf("%d%d%d",&n,&V1,&V2);for(int i=0;i<n;i++){int v1,v2,w;scanf("%d%d%d",&v1,&v2,&w);for(int j=V1;j>=v1;j--){for(int k=V2;k>=v2;k--){f[j][k]=max(f[j][k],f[j-v1][k-v2]+w);}}}printf("%d\n",f[V1][V2]);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词