티스토리 뷰

알고리즘/백준(BOJ)

백준 - 10775 공항

시나모온 2020. 7. 3. 20:16

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

 

10775번: 공항

문제 오늘은 신승원의 생일이다. 박승원은 생일을 맞아 신승원에게 인천국제공항을 선물로 줬다. 공항에는 G개의 게이트가 있으며 각각은 1에서 G까지의 번호를 가지고 있다. 공항에는 P개의 비�

www.acmicpc.net

 

유니온 파인드 문제였다. 

 

 

 

 

 

 

#include <iostream>

using namespace std;

int G, P;

int parent[100001];
int gate[100001];

int findParent(int a) {
    if(parent[a] == a) return a;
 
    return parent[a] = findParent(parent[a]);
}

void unionParent(int a, int b) {
    a = findParent(a);
    b = findParent(b);

    parent[a] = b;
}

int main() {
    ios_base :: sync_with_stdio(false); 
    cin.tie(NULL);
    cout.tie(NULL);


    int cnt = 0;


    cin >> G >> P;
    for(int i = 1; i <= G; i++) {
        parent[i] = i;
    }

    for(int i = 1; i <= P; i++) {
        cin >> gate[i];
    }

    int temp;
    for(int i = 1; i <= P; i++) {
        temp = findParent(gate[i]);
        if(temp == 0) break;

        unionParent(temp, temp - 1);
        cnt++;
    }

    cout << cnt;

    return 0;
}

 

 

개발 환경 : vscode

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

 

'알고리즘 > 백준(BOJ)' 카테고리의 다른 글

백준 - 9372 상근이의 여행  (0) 2020.07.10
백준 - 2589 보물섬  (0) 2020.07.04
백준 - 4195 친구 네트워크  (0) 2020.07.03
백준 - 1976 여행 가자  (0) 2020.07.03
백준 - 1717 집합의 표현  (0) 2020.07.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함