首页 > 技术文章 > 吃葡萄

ai-learning-blogs 2020-08-06 21:33 原文

题目:

有三种葡萄,每种分别有颗a,b,c。有三个人,第一个人只吃第1,2种葡萄,第二个人只吃第2,3种葡萄,第三个人只吃第1,3种葡萄。
适当安排三个人使得吃完所有的葡萄,并且且三个人中吃的最多的那个人吃得尽量少。

输入描述:
第一行数字T,表示数据组数。接下来T行,每行三个数a,b,c, 且1≤a,b,c≤10的18次方,1≤T≤10。

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

 

输入例子1:
2
1 2 3
1 2 6

输出例子1:
2
3

 

输入例子2:
1
12 13 11

输出例子2:
12

 

参考:

思路:考察逻辑

n = int(input())
for i in range(n):
    a,b,c = map(int,input().split())
    maxnum = max(a,b,c)
    total = a+b+c
    if maxnum//2 >= total-maxnum:
        if maxnum%2 == 0:
            print(maxnum//2)
        else:
            print((maxnum+1)//2)
    else:
        if total%3 == 0:
            print(total//3)
        elif total%3 == 1:
            print((total+2)//3)
        else:
            print((total+1)//3)

 

推荐阅读