题目描述
有
?
n 个小朋友去果园郊游,现在他们在玩一个比重量的游戏。他们规定在果园找苹果和西瓜这两种水果,统计出各自摘的苹果和西瓜的总重量,再根据最后的总重量来排名,总重量高的排在前面(如果出现总重量相同就按苹果重的往前排)。现在请你输出排序后的结果。
输入格式
第一行一个整数
?
n,表示去果园郊游的小朋友人数。
接下来
n 行,每行两个数,表示苹果和西瓜重量。
输出格式
共
?
n 行,每行两个数,表示排序后的苹果和西瓜成绩。
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
int a[n],b[n],c[n];
for(int i=0;i<=n-1;i++) {
cin>>a[i]>>b[i];
c[i]=i;
}
for(int i=1;i<=n-1;i++)
for(int j=0;j<n-i;j++)
if(a[j]+b[j]>a[j+1]+b[j+1]||a[j]+b[j]==a[j+1]+b[j+1]&&a[j]>a[j+1])
swap(c[j],c[j+1]);
for(int i=0;i<=n-1;i++){
cout<<a[c[i]]<<" "<<b[c[i]] <<endl;
}
return 0;
}