https://www.acmicpc.net/problem/7568
<요약>
n명의 사람의 몸무게와 키 정보를 입력받아 나열된 사람들의 덩치 등수를 매김
비교 대상보다 몸무게가 더 나가고, 키가 더 커야 덩치가 크다고 판단!
vector <pair<자료형, 자료형>> v;
입력받을 때에는 2가지 방식이 있음
1. v.push_back(pair<int, int>(weight, height));
2. v.push_back(make_pair(weight, height));
기준이 되는 사람이 비교대상보다 덩치가 작으면 증감연산자를 통해 숫자를 높임(등수를 낮춤), 이렇게 같은 등수 처리 가능
만약 기준이 되는 사람이 모든 비교대상보다 덩치가 크면 1등이므로 증감연산을 할 변수는 1로 초기화를 해줘야 함
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin >> n;
vector <pair<int, int>> v;
int weight, height;
for (int i = 0; i < n; i++) {
cin >> weight >> height;
v.push_back(make_pair(weight, height)); //make_pair || pair<int,int>
}
for (int i = 0; i < n; i++) {
int cnt = 1;
for (int j = 0; j < n; j++) {
if (v[i].first < v[j].first && v[i].second < v[j].second)
cnt++;
}
cout << cnt << ' ';
}
return 0;
}