본문 바로가기
알고리즘/dfs,bfs

[파이썬🐍] 백준 11724 : 연결 요소의 개수

by 코딩개미뚠뚠 2021. 4. 8.
반응형
from sys import stdin
n,m = map(int,stdin.readline().split())
matrix = [[0]*(n+1) for _ in range(n+1)]
for i in range(m):
    a,b = map(int,stdin.readline().split())
    matrix[a].append(b)
    matrix[b].append(a)
visited = [0]*(n+1)

def bfs(v):
    queue = [v]
    while queue:
        v = queue.pop(0)
        for i in matrix[v]:
            if visited[i] == 0:
                queue.append(i)
                visited[i] = 1

answer = 0
for i in range(1,n+1):
    if visited[i] == 0:
        bfs(i)
        answer += 1
print(answer)

덩어리 구하기(?)같은 문제였다.

for i in range(1,n+1):
    if visited[i] == 0:
        bfs(i)
        answer += 1

이 부분을 유의깊게 보고 생각해야겠다.

계속 풀다보니까 bfs,dfs을 조금 알게되어간다.

근데 아직 활용하는 부분이 약한 것 같다. 

완전히 이해하게 된다면 활용도 잘할 수 있겠지??^^

반응형

댓글