首页 > 试题广场 >

吃葡萄

[编程题]吃葡萄
  • 热度指数:7103 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有三种葡萄,每种分别有颗。有三个人,第一个人只吃第种葡萄,第二个人只吃第种葡萄,第三个人只吃第种葡萄。
适当安排三个人使得吃完所有的葡萄,并且且三个人中吃的最多的那个人吃得尽量少。

输入描述:
第一行数字,表示数据组数。
接下来行,每行三个数



输出描述:
对于每组数据,输出一行一个数字表示三个人中吃的最多的那个人吃的数量。
示例1

输入

2
1 2 3
1 2 6

输出

2
3
示例2

输入

1
12 13 11

输出

12
头像 missingdaysqxy
发表于 2019-12-16 21:45:44
第一次写题解博客,写的不好还请见谅~ 说下我的思路: 将一组三个葡萄数想像成三条线段,如果能构成三角形(符合两短相加大于长),则三个人一人吃掉相邻两条边的一半就可以;如果不能构成三角形(即有一超长边),那么要把超长边平分给两个人吃,相当于折断长边,现在有4条边肯定能构成四边形,那么有两种情况: 两 展开全文
头像 ZCMU-Aaver
发表于 2020-07-15 22:46:50
#include <bits/stdc++.h> using namespace std; bool check(long long num,long long a[]){   &nbs 展开全文
头像 稚园
发表于 2021-03-02 21:16:23
题目描述有三种葡萄,每种分别有\mathit a,b,ca,b,c颗。有三个人,第一个人只吃第\text 1,21,2种葡萄,第二个人只吃第\text 2,32,3种葡萄,第三个人只吃第\text 1,31,3种葡萄。适当安排三个人使得吃完所有的葡萄,并且且三个人中吃的最多的那个人吃得尽量少。输入描 展开全文
头像 给个offer好嘛
发表于 2022-02-17 12:14:41
java解法 如果数量最少的两种葡萄之和小于葡萄总数的的三分之一(假设a<b<c, a+b < a+b+c/3),也就是说只让一个人负责吃数量最少的葡萄都绰绰有余,那么其他的两个人都被分配到吃最多的那种萄才能尽可能让每人都尽可能吃得多,这种情况吃的最多也就是负责吃c的两个人,数量就 展开全文