알고리즘/BOJ

백준 7568번 덩치

꾸준함. 2018. 6. 26. 13:47

문제 링크입니다: https://www.acmicpc.net/problem/7568


pair<pair<int, int>, int>형 벡터를 이용해 (키, 몸무게, 등수)를 저장하였는데 너무 복잡하다고 생각된다면 다른 방법으로 저장해도 무난하게 풀 수 있는 문제였습니다.

for문을 두번 돌려서 자신보다 키와 몸무게가 둘 다 큰 사람이 있을 경우 등수를 올리면 무난하게 AC를 받을 수 있는 문제였습니다!


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

 

int N;

vector<pair<pair<int, int>, int>> v; //, 몸무게, 등수

 

void printOrder(void)

{

        for (int i = 0; i < N; i++)

                 for (int j = 0; j < N; j++)

                 {

                         if (i == j)

                                 continue;

                         //키와 몸무게가 모두 작아야 등수가 올라간다

                         else if (v[i].first.first < v[j].first.first && v[i].first.second < v[j].first.second)

                                 v[i].second++;

                 }

 

        for (int i = 0; i < N; i++)

                 cout << v[i].second << " ";

        cout << endl;

}

 

int main(void)

{

        cin >> N;

 

        for (int i = 0; i < N; i++)

        {

                 int x, y;

                 cin >> x >> y;

                 v.push_back(make_pair(make_pair(x, y), 1)); //초기 등수는 1

        }

 

        printOrder();

 

        return 0;

}



개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 2667번 단지번호붙이기  (3) 2018.06.26
백준 2217번 로프  (0) 2018.06.26
백준 2668번 숫자고르기  (0) 2018.06.25
백준 7576번 토마토  (10) 2018.06.25
백준 2846번 오르막길  (0) 2018.06.25