10193 工作分配

题目描述

新录A、B、C三个工人,每人分配一个工种,每个工种只需一人,经测试,三人做某种工作的效率如下表所示。如何分配三人的工作才能使他们工作效益最大?

输入格式

为1个3×3的矩阵

矩阵的第一行为A做三种工作的效益,

第二行为B做三种工作的效益,第三行为C做三种工作的效益。

输入保证各效益的范围可能超过int能表示的范围,请使用long long替代int

如果 int a; 先让a表述更大的整数,可使用 long long a; long long是int的扩展类型

输出格式

一个整数,为最大效益值。`

样例

输入 #1

4 3 3
2 4 3
4 5 2
输出 #1

12
数据范围与提示 分类标签

C++题解代码

#include <bits/stdc++.h>
using namespace std;

long long a[3][3];
long long b;
long long c;
long long d;


// The main procedure
int main() {
  d = 0;
  for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
      cin>>a[i][j];
    }
  }
  for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
      for (int k = 0; k < 3; k++) {
        if ((i != j) && ((j != k) && (i != k))) {
          c = (a[0][i]+(a[1][j]+a[2][k]));
          if (c > d) {
            d = c;
          }
        }
      }
    }
  }
  cout<<d;
  return 0;
}

Blockly题解代码图片