#include<iostream>
#include<queue>
#include<string>
using namespace std;
// 각 정점의 부모 노드 번호를 저장하는 배열
int parent[100] = { 0, };
int Find(int n)
{
// 배열의 인덱스와 값이 같다면 루트 노드 발견
if (parent[n] == n) return n;
// 부모 노드의 번호를 전달하면서, 루트 노드를 찾을때까지 재귀호출
else return parent[n] == Find(parent[n]);
}
void Union(int x, int y)
{
x = Find(x);
y = Find(y);
// 루트 노드가 같다면 이미 연결
if (x == y)
{ // 더 작은 값이 부모 노드
if (x < y) {
parent[y] = x;
}
else
parent[x] = y;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n , m;
cin >> n >> m;
for (int i = 0; i < n; i++)
{
parent[i] = i;
}
return 0;
}
알고리즘