PS
백준 7568. 덩치
tose33
2021. 4. 30. 20:54
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
사람수 N이 최대 50이므로 brute force로.
값들을 컨테이너에 넣어놓고 한명을 기준으로 몸무게와 키를 비교해서 둘다 나보다 큰 사람이 있으면 bigger값을 늘려준다.
최종적으로는 나보다 덩치가 큰 사람이 bigger명 있으므로 나는 bigger+1번째이다.
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
vector<pair<int,int>> v;
vector<int> ans;
cin >> n;
for(int i = 0; i < n; i++) {
int x,y;
cin >> x >> y;
v.push_back({x,y});
}
for(int i = 0; i < v.size(); i++) {
int bigger = 0; // i보다 덩치가 큰 사람수
for(int j = 0; j < v.size(); j++) {
if(j == i) continue; // 나자신과는 비교할 필요없다
// 비교되는 j가 현재기준인 i보다 덩치가 크다면
if(v[i].first < v[j].first && v[i].second < v[j].second) {
bigger++; // 덩치큰 사람수 증가
}
}
// 나보다 덩치큰 사람이 bigger명 있으므로 나는 bigger+1 번째
ans.push_back(bigger+1);
}
for(int x : ans) cout << x << ' ';
}