AcWing 1013 机器分配 题解 (动态规划—DP—背包问题)

AcWing 1013 机器分配 题解 (动态规划—DP—背包问题),第1张

AcWing 1013 机器分配 题解 (动态规划—DP—背包问题)

原题传送门

#include
#include

using namespace std;

const int N = 11, M = 16;

int n, m;
int f[N][M];
int w[N][M];//w[i][j]记录的是第i个公司分配j太设备是的盈利 
int way[N];

int main()
{
	cin>>n>>m;
	
	for(int i = 1; i <= n; i ++ ){
		for(int j = 1; j <= m; j ++ ){
			cin>>w[i][j];
		}
	}
	 
	for(int i = 1; i <= n; i ++ ){//枚举物品 
		for(int j = 0; j <= m; j ++ ){//枚举体积 
			for(int k = 0; k <= j; k ++ ){//将每个物品的体积视为1 ,k = 0就是考虑了不放第i个物品的情况 
				f[i][j] = max(f[i][j], f[i - 1][j - k] + w[i][k]);//放入第i个物品,且放入的个数为k(给第i个公司分k台设备) 
			} 
		} 
	}
	
	cout<					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5703375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存