来源
OpenJudge网站 —— 百练习题集-第4098号习题
要求
总时间限制: 3000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB
描述
水果中含有多种营养物质。假设现在要通过营养物质含量多少来评价水果的价值,简单起见,只考虑其中两种营养物质A和B。给定一种水果A和B的含量a和b,用a+b的值作为该水果的价值。给定一组水果,要求这组水果中价值第二大的那个水果。
输入
第一行为m,表示有m组测试输入,m<100。
每组测试数据第一行为N,表示有N种水果,接着的N行每行三个非负整数,分别是水果ID、该水果的a和b。
(2<=N<=50)(输入保证没有价值相同的水果)
输出
输出价值第二大的水果ID以及对应的a、b和价值,共4个非负整数,中间用一个空格隔开。
样例输入
1
3
1 1 1
2 2 4
3 3 2
样例输出
3 3 2 5
m = int(input())
for t in range(m):
N = int(input())
#预设第一大和第二大
id, a, b = [int(s) for s in input().split()]
first = (id, a, b, a+b)
id, a, b = [int(s) for s in input().split()]
second = (id, a, b, a+b)
if first[3] < second[3]:
first, second = second, first
for i in range(2, N):
id, a, b = [int(s) for s in input().split()]
if a+b > first[3]:
second = first #更新第二大
first = (id, a, b, a+b) #更新第一大
elif a+b > second[3]:
second = (id, a, b, a+b) #更新第二大
print(second[0], second[1], second[2], second[3])
题目描述给出的测试用例只有一组测试数据。水果有3种。
两组测试数据。第二组只有2中水果。
样例输入
2
3
1 1 1
2 2 4
3 3 2
2
2 2 4
3 3 2
样例输出
3 3 2 5
3 3 2 5
数据量稍大一点。
两组测试数据。第二组只有2种水果。
样例输入
2
5
1 1 1
2 2 4
3 3 2
8 7 2
5 3 1
4
2 2 4
6 8 2
3 3 2
11 9 12
样例输出
2 2 4 6
6 8 2 10