티스토리 뷰
728x90
https://www.acmicpc.net/problem/11724
- 문제 :
방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.
- 풀이 :
그래프를 bfs로 탐색하여 연결 요쇼의 개수를 구해주었습니다.
- 소스코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import sys
from collections import deque
input = sys.stdin.readline
def bfs(start):
queue = deque()
queue.append(start)
while queue:
D = queue.popleft()
for i in D:
if c[i] == -1:
queue.append(graph[i])
c[i] = 0
if __name__ == "__main__":
N,M = list(map(int,input().split()))
c = [-1 for _ in range(N + 1)]
graph = [[] for _ in range(N+1)]
for _ in range(M):
a,b = list(map(int,input().split()))
graph[b].append(a)
graph[a].append(b)
cnt = 0
for i in range(1,N+1):
if c[i] == -1:
c[i] = 0
bfs(graph[i])
cnt += 1
if N == 1:
print(1)
else:
print(cnt)
|
cs |
320x100
'Algorithm > DFS & BFS' 카테고리의 다른 글
(Python) - BOJ(15591번) : MooTube(Silver) (0) | 2022.02.10 |
---|---|
(Python) - BOJ(14502번) : 연구소 (0) | 2022.02.10 |
(Python) - BOJ(11403번) : 경로 찾기 (0) | 2022.02.07 |
(Python) - BOJ(10026번) : 적록색약 (0) | 2022.02.04 |
(Python) - BOJ(7576번) : 토마토 I (0) | 2022.02.03 |
댓글
© 2022 WonSeok, All rights reserved