백준

백준 11724번: 연결 요소의 개수

11724번: 연결 요소의 개수 (acmicpc.net)

 

11724번: 연결 요소의 개수

첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주

www.acmicpc.net

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
36
from collections import deque
import sys
n,m = map(int, input().split())
 
com = []
graph = [[0]]
visited = [False* (n+1)
count = 0
for i in range(m):
    co = list(map(int,sys.stdin.readline().split()))
    com.append(co)
for j in range(m):
    com[j].sort
for k in range(n):
    graph.append([])
    for l in range(m):
        if k+1 in com[l]:
            if k+1==com[l][0]:
                graph[k+1].append(com[l][1])
            else:
                graph[k + 1].append(com[l][0])
def bfs(Graph, s, Visited):
    queue = deque([s])
    Visited[s] = True
    while queue:
        v = queue.popleft()
        for i in Graph[v]:
            if Visited[i] is False:
                queue.append(i)
                Visited[i] = True
 
for o in range(n):
    if visited[o+1is False:
        bfs(graph, o+1, visited)
        count+=1
print(count)
cs

 

'백준' 카테고리의 다른 글

백준 4963번: 섬의 개수  (0) 2021.05.20
백준 1012번: 유기농 배추  (0) 2021.05.20
백준 2606번: 바이러스  (0) 2021.05.20
백준 10773번: 제로  (0) 2021.05.18
백준 2108번: 통계학  (0) 2021.05.18