有三种葡萄,每种分别有 � , � , � a,b,c颗。有三个人,第一个人只吃第 1 , 2 1,2种葡萄,第二个人只吃第 2 , 3 2,3种葡萄,第三个人只吃第 1 , 3 1,3种葡萄。 适当安排三个人使得吃完所有的葡萄,并且且三个人中吃的最多的那个人吃得尽量少。写c++代码
时间: 2024-01-17 20:05:17 浏览: 27
以下是实现题目要求的C++代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
int first = 0, second = 0, third = 0;
// 让第一个人先拿走第1、2种葡萄中数量较少的那种
if (a <= b) {
first += a;
second += b;
} else {
first += b;
second += a;
}
// 第三个人拿走第1、3种葡萄中数量较少的那种
if (a <= c) {
first += a;
third += c;
} else {
first += c;
third += a;
}
// 第二个人拿走第2、3种葡萄中数量较多的那种
if (b >= c) {
second += b;
third += c;
} else {
second += c;
third += b;
}
int max_grapes = max(first, max(second, third));
int res = max_grapes - first - second - third;
cout << res << endl;
return 0;
}
```
代码中,我们首先读入三种葡萄的数量,然后按照题目要求依次让三个人拿走葡萄。最后计算出三个人中吃的最多的那个人吃的葡萄数量,减去其余两个人吃的葡萄数量之和,即为答案。