前言:
21考研,不论能否进复试记录一下准备路上写下的垃圾代码。本来啃《算法笔记》,但是感觉太多了做不完,改做王道机试指南。
题目描述:
第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。
输入描述
输入有多组数据。
每组输入n,然后输入n个整数对。
输出描述:
输出最小的整数对。
解答
#include<iostream>
#include<algorithm>
#include<vector>
#include<stdio.h>
using namespace std;
struct num {
int x;
int y;
};
bool cmp(num a, num b) {
if (a.x != b.x)
return a.x < b.x;
else
return a.y < b.y;
}
int main()
{
int n;
num temp;
while (scanf("%d", &n) != EOF) {
vector<num> vi;
for (int i = 0; i < n; i++) {
cin >> temp.x >> temp.y;
vi.push_back(temp);
}
sort(vi.begin(), vi.end() , cmp);
printf("%d %d\n", vi[0].x, vi[0].y);
}
return 0;
}