본문 바로가기
알고리즘

[알고리즘] 분리 집합(Union-Find)

by code_killer 2024. 4. 14.
728x90
반응형

1. 개요

1. 각 노드들을 그룹을 지을 때 사용하는 알고리즘

 

2. 알고리즘 코드

int parent[MAX_G];

int Find(int a)
{
	int pA = parent[a];

	if (pA == a)
		return a;

	return parent[a] = Find(pA);
}

void Union(int a, int b)
{
	int pA = Find(a);
	int pB = Find(b);

	if (pA <= pB)
		parent[pB] = pA;
	else
		parent[pA] = pB;
}

 

3. 문제

https://www.acmicpc.net/problem/10775

 

10775번: 공항

예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불

www.acmicpc.net

 

728x90