题目描述
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。
输入描述:
输入有多组数据。 每组输入n,然后输入n个整数对。
输出描述:
输出最小的整数对。
compare函数重载
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct complex
{
int x;
int y;
};
complex num[1000];
bool Compare(complex s1,complex s2)
{
if(s1.x==s2.x)
return s1.y<s2.y;
else
return s1.x<s2.x;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<n;i++)
{
scanf("%d%d",&num[i].x,&num[i].y);
}
sort(num,num+n,Compare);
printf("%d %d\n",num[0].x,num[0].y);
}
return 0;
}
提交结果: