Description
QWQ的朋友QAQ开了一个A工厂,但QAQ不是一个很精明的老板,A工厂只生产三种产品,需要三种原材料,第一种产品分别消耗第一种原材料a1、第二种原材料b1、第三种原材料c1,第二种产品分别是a2、b2、c2,第三种产品分别是a3、b3、c3,但原材料总量是有限制的,分别是a、b、c,第一种产品可以盈利d1元,第二种产品可以盈利d2元,第三种原材料可以盈利d3元,由于每个产品都不可以分解,所以所有产品的生产量一定是整数。QAQ不知道怎么合理安排生产让他的盈利最大,于是他求助QWQ,QWQ更不知道了,但你一定知道
Input
先输入一个数字t(t<20),代表数组的组数 每组数据包括五行 第一行三个数字a1、b1、c1 第二行三个数字a2、b2、c2 第三行三个数字a3、b3、c3 第四行三个数字a、b、c 第五行三个数字d1、d2、d3 保证所有输入都是非负整数,并且不大于200
Output
输出最大的总盈利
Accepted Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t = 0;
cin >> t;
while (t--)
{
int maxm = 0;
int a1, b1, c1, a2, b2, c2, a3, b3, c3, a, b, c, d1, d2, d3;
cin >> a1 >> b1 >> c1 >> a2 >> b2 >> c2 >> a3 >> b3 >> c3 >> a >> b >> c >> d1 >> d2 >> d3;
for (int x = 0; x <= 200; x++)
{
for (int y = 0; y <= 200; y++)
{
for (int z = 0; z <= 200; z++)
{
if (a1 * x + a2 * y + a3 * z <= a && b1 * x + b2 * y + b3 * z <= b && c1 * x + c2 * y + c3 * z <= c)
{
maxm = max(maxm, d1 * x + d2 * y + d3 * z);
}
}
}
}
cout << maxm << endl;
}
}
解后反思
暴力即可