最小数を見つける(マシンでの北京ポストの再テスト)

序文:

21.再テストに参加できるかどうかに関係なく、道路に書かれたゴミコードを記録します。もともと「AlgorithmNotes」をかじったのですが、やりすぎたので、Kingway ComputerTestGuideに変更しました。

タイトル説明:

最初の行に数値nを入力します。1<= n <= 1000、以下にn行のデータを入力します。各行にはそれぞれxyの2つの数値があります。xyのセットを出力します。データのセットは、すべてのデータの中で最小の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;
}

おすすめ

転載: blog.csdn.net/weixin_44897291/article/details/112788914