상세 컨텐츠

본문 제목

[백준][BOJ4195] 친구 네트워크

Algorithm/Union-Find

by bedamino 2021. 6. 6. 00:03

본문

1. 문제 : https://www.acmicpc.net/problem/4195

 

4195번: 친구 네트워크

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진

www.acmicpc.net


2. 풀이 : Union-Find


3. 시간복잡도 : O(logN)


4. 설명

입력값으로 들어오는 사용자ID(String)를 숫자(Integer)로 변경하여 Union-Find를 사용한다.

첫번째 줄의 입력값 Fred(0)와 Barney(1)을 union하면 그림[1]과 같고, 두 사람의 친구 네트워크에는 2명이 존재한다.

그림[1]

두번째 줄의 입력값 Barney(1)와 Betty(2)를 union하면 그림[2]와 같고, 두 사람의 친구 네트워크에는 3명이 존재한다.

그림[2]

세번째 줄의 입력값 Betty(2)와 Wilma(3)를 union하면 그림[3]과 같고, 두 사람의 친구 네트워크에는 4명이 존재한다.

그림[3]


5. 코드

'Algorithm > Union-Find' 카테고리의 다른 글

[백준][BOJ1717] 집합의 표현  (0) 2021.05.29

관련글 더보기

댓글 영역