-
상호배타적집합(Union-Find)과외 - 알고리즘/과제 2018. 9. 6. 18:38
DisjointSet
Contents
마을에 N명의 시민이 있다. 입력으로 친구인 사람들의 쌍이 주어진다. 옛말에 의하면 친구의 친구는 친구라고 한다. 즉, A와 B와 친구고 B와 C와 친구면 A와 C 또한 친구이다.
여러분이 할 일은 친구의 수가 가장 큰 그룹의 사람 수를 출력하는 것이다.
Input
입력의 첫줄은 n과 m이 들어온다. n은 마을 사람 수(1<N<30000)이고, M은 친구 쌍의 수(1<M<50000)이 들어온다.
다음 m 줄에는 x, y이 들어오는데 x와 y는 친구라는 뜻이다.
Output
가장 큰 친구 그룹의 사람 수를 출력한다.
Sample Input
10 12
1 2
3 1
3 4
5 4
3 5
4 6
5 2
2 1
7 10
1 2
9 10
8 9
Sample Output
6
'과외 - 알고리즘 > 과제' 카테고리의 다른 글
그래프(Graph) (0) 2018.09.06 동적프로그래밍(DP) (0) 2018.09.06 해쉬(Hash) (0) 2018.09.06 검색트리(SearchTree) (0) 2018.09.06 선택(Select) (14) 2018.09.06