티스토리 뷰
문제 링크입니다 : 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 |
댓글