牛客網 找最小數(sort結構體查詢、北郵機試)

sunlanchang發表於2019-01-31

題目描述

第一行輸入一個數n,1 <= n <= 1000,下面輸入n行資料,每一行有兩個數,分別是x y。輸出一組x y,該組資料是所有資料中x最小,且在x相等的情況下y最小的。

輸入描述:

輸入有多組資料。
每組輸入n,然後輸入n個整數對。

輸出描述:

輸出最小的整數對。
示例1

輸入

5
3 3
2 2
5 5
2 1
3 6

輸出

2 1

Solution

對結構體過載小於號即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 1111;
struct Num
{
    int x, y;
    bool operator<(Num t)
    {
        if (t.x != x)
            return x < t.x;
        return y < t.y;
    }
};
Num num[maxn];
int main()
{
    freopen("in.txt", "r", stdin);
    int n;
    while (~scanf("%d", &n))
    {
        for (int i = 0; i < n; i++)
            scanf("%d%d", &num[i].x, &num[i].y);
        sort(num, num + n);
        printf("%d %d\n", num[0].x, num[0].y);
    }
    return 0;
}

相關文章