https://www.acmicpc.net/problem/7568
구현
키, 몸무게 pair 벡터를 입력 받은 후
2중 for문을 돌려서
자신보다 덩치가 큰 덩치가 나올 때마다 등수를 올리고 출력한다.
#include <iostream>
#include <vector>
using namespace std;
int N;
int x, y;
vector<pair<int, int>> v;
void FastIO()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
void Input()
{
cin >> N;
for(int i=0; i<N; i++)
{
cin >> x >> y;
v.push_back({x, y});
}
}
void Solve()
{
for(int i=0; i<N; i++)
{
int rank = 1;
for(int j=0; j<N; j++)
{
if(v[i].first < v[j].first && v[i].second < v[j].second)
rank++;
}
cout << rank << " ";
}
}
int main()
{
FastIO();
Input();
Solve();
}
처음에 문제를 보고
우선순위큐까지 생각했다가.. 너무 복잡하게 생각했다.
단순하게 생각하기