반응형
간단한 구현문제였습니다.
풀이방법
1. i보다 j번째 학생이 몸무게와 키 둘다 작을 경우(자기가 졌을 경우) rank[j[를 1씩증가해줍니다.
2. n까지 rank를 출력
Code
#include <bits/stdc++.h>
using namespace std;
int n;
vector <pair<int,int>> info;
int main(){
cin >> n;
for(int i = 0; i < n; i ++){
int x, y;
cin >> x >> y;
info.push_back({x,y});
}
vector <int> rank(n,1);
for(int i = 0; i < n; i++){
int weight = info[i].first;
int height = info[i].second;
for(int j = 0; j < n; j++){
int weight2 = info[j].first;
int height2 = info[j].second;
if(weight > weight2 && height > height2) rank[j]++;
}
}
for(int i = 0; i < n; i++) cout << rank[i] << ' ';
}
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 1806번 : 부분합 답 (0) | 2017.03.29 |
---|---|
(C++) - 백준(BOJ) 12852번:1로 만들기 2 답 (0) | 2017.03.26 |
(C++) - 백준(BOJ) 10814번 : 나이순 정렬 답 (0) | 2017.03.20 |
(C++) - 백준(BOJ) 11943번 : 파일 옮기기 (0) | 2017.03.19 |
(C++) - 백준(BOJ) 5717번 : 상근이의 친구들 (0) | 2017.03.17 |