问题描述:

(14)某工业生产部门根据国家计划的安排, 拟将某种高效率的5台机器,分配给所属的3个工厂A,B,C,各工厂在获得这种机器后,可以为国家盈利的情况如表4-10所示。问:这5台机器如何分配给各工厂,才能使国家盈利最大?

解题思路:

这不就是一个搜索?这个叫啥?贪心?

解题代码:

#include<cstdio>
#include<iostream>

using namespace std;

int main()
{
    int a[6][3]={0,0,0,3,5,4,7,10,6,9,11,11,12,11,12,13,11,12};
    int i,j,k,a1,b1,c1,sum,maxm=0;
    for(i=0;i<=5;i++)
    {
        for(j=0;j<=5-i;j++)
        {
            k=5-i-j;
            sum=a[i][0]+a[j][1]+a[k][2];
            if(sum>maxm)
            {
                maxm=sum;
                a1=i;
                b1=j;
                c1=k;
            }
        }
    }
    cout<<"A:"<<a1<<" B:"<<b1<<" C:"<<c1<<endl;
    cout<<"sum="<<maxm;
    return 0;
}

运行结果:

A:0 B:2 C:3

sum=21

Process returned 0 (0x0)   execution time : 0.032 s

Press any key to continue.