描述
输入
第一行为m,表示有m组测试输入,m<100。
每组测试数据第一行为N,表示有N种水果,接着的N行每行三个非负整数,分别是水果ID、该水果的a和b。
(2<=N<=50)(输入保证没有价值相同的水果)
输出
输出价值第二大的水果ID以及对应的a、b和价值,共4个非负整数,中间用一个空格隔开。
样例输入
水果中含有多种营养物质。假设现在要通过营养物质含量多少来评价水果的价值,简单起见,只考虑其中两种营养物质A和B。给定一种水果A和B的含量a和b,用a+b的值作为该水果的价值。给定一组水果,要求这组水果中价值第二大的那个水果。
每组测试数据第一行为N,表示有N种水果,接着的N行每行三个非负整数,分别是水果ID、该水果的a和b。
(2<=N<=50)(输入保证没有价值相同的水果)
1 3 1 1 1 2 2 4 3 3 2
样例输出
3 3 2 5
#include<stdio.h>
struct shuiguo
{
int id;
int a;
int b;
}a[255],max,temp;
int main()
{
int t,n,i,l,k1,k2;
scanf("%d",&t);
while(t)
{
max.a=0,max.b=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d%d",&a[i].id,&a[i].a,&a[i].b);
for(i=0;i<n-1;i++)
for(l=0;l<n-i-1;l++)
if((a[l].a+a[l].b)<(a[l+1].a+a[l+1].b))
{
temp=a[l];
a[l]=a[l+1];
a[l+1]=temp;
}
printf("%d %d %d %d\n",a[1].id,a[1].a,a[1].b,a[1].a+a[1].b);
t--;
}
return 0;
}