[BOJ step 13] Brute Force 03. 덩치

최대 1 분 소요

덩치

문제 풀이

  1. 각 덩치들의 Rank를 모두 1로 준다.
  2. 한 덩치 i를 기준으로 잡고 나머지 덩치 j들을 모두 탐색한다. ( $_NC_2$의 모든 경우 )
  3. 이 때 i 보다 j의 키와 몸무게가 모두 작으면 Rank[j]++ 해준다.
  4. 위 과정을 모든 덩치들에 대해 반복하여 Rank 벡터를 순서대로 출력해주면 된다.
#include <iostream>
#include <vector>
#include <queue>

#define PII pair<int,int>

using namespace std;

int N;
vector<PII> p;
vector<int> Rank;

void solution() {
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < N; j++) {
			if (p[i].first < p[j].first && p[i].second < p[j].second) {
				Rank[i]++;
			}
		}
	}
	for (auto a : Rank)
		cout << a << " ";
	cout << endl;
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	cin >> N;
	for (int i = 0; i < N; i++) {
		int x, y;
		cin >> x >> y;
		p.push_back({ x,y });
		Rank.push_back(1);
	}
	solution();
	return 0;
}

댓글남기기