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

[파이썬🐍] 백준 2606 : 바이러스

by 코딩개미뚠뚠 2021. 4. 8.
반응형

이건 좀 쉽게 풀 수 있었다.

블로그에 올릴 생각을 하니까 코드도 깔끔하게 쓰게 된다.

블로그의 장점!

변수도 한 번 더 생각하고 정하고 '=' 앞뒤로 띄어쓰기도 해준다^^

from sys import stdin
n = int(stdin.readline())
m = int(stdin.readline())
matrix = [[0]*(n+1) for _ in range(n+1)]
for i in range(m):
    x,y = map(int,stdin.readline().split())
    matrix[x][y] = matrix[y][x] = 1
visited = [0]*(n+1)

def bfs(v):
    queue = [v]
    cnt = 0
    visited[v] = 1

    while queue:
        v=queue.pop(0)
        for i in range(1,n+1):
            if (visited[i] == 0) and (matrix[v][i]==1):
                queue.append(i)
                visited[i] = 1
                cnt += 1
    print(cnt)

bfs(1)

stdin을 사용하니 input을 사용한 코드보다 4ms가 빨라졌다.

반응형

댓글