백준 2535 c++

magicdrill·2024년 7월 10일
0

백준 문제풀이

목록 보기
389/654

백준 2535 c++

#include <iostream>
#include <vector>
#include <map>
#include <algorithm>

using namespace std;

bool compare(vector<int>A, vector<int>B)
{
	return A[2] > B[2];
}

void input_score(vector<vector<int>>& score)
{
	int N, i, j;
	int country, num, personal_score;

	cin >> N;
	for (i = 0; i < N; i++)
	{
		cin >> country >> num >> personal_score;
		score.push_back({ country, num, personal_score });
	}
	sort(score.begin(), score.end(), compare);

	/*for (vector<int> temp : score)
	{
		cout << temp[0]  << " " << temp[1] << " " << temp[2] << "\n";
	}*/

	return;
}

void find_answer(vector<vector<int>> &score)
{
	int i;
	int count = 0;
	map <int, int> country;
	int current_country, current_num, current_score;

	for (i = 0; i < score.size(); i++)
	{
		current_country = score[i][0];
		current_num = score[i][1];
		current_score = score[i][2];

		if (count == 3)
		{
			break;
		}
		if (country[current_country] < 2)
		{
			country[current_country]++;
			cout << current_country << " " << current_num << "\n";
			count++;
		}
		else
		{
			continue;
		}
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio;
	cin.tie(NULL);
	cout.tie(NULL);

	vector<vector<int>> score;

	input_score(score);
	find_answer(score);

	return 0;
}

0개의 댓글