题目描述:
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。
输入:
输入有多组数据。
每组输入n,然后输入n个整数对。
输出:
输出最小的整数对。
样例输入:
5
3 3
2 2
5 5
2 1
3 6
样例输出:
2 1
#include <iostream>
#include <cstdio>
#include <algorithm>
#define MAXSIZE 1010
using namespace std;
struct Object{
int x;
int y;
Object(){
}
Object(int x,int y){
this->x=x;
this->y=y;
}
bool operator<(const Object o )const{
bool ret=false;
if (x<o.x)
ret=true;
else if (x==o.x){
if (y<=o.y)
ret=true;
else
ret=false;
}
else
ret=false;
return ret;
}
};
int main(){
int n;
Object objs[MAXSIZE];
while (scanf("%d",&n)!=EOF){
//input
for (int i=0;i<n;i++){
scanf("%d%d",&objs[i].x,&objs[i].y);
}
//sort
sort(objs,objs+n);
//output
printf("%d %d\n",objs[0].x,objs[0].y);
}
return true;
}