[백준][그래프] boj-2606 바이러스 파이썬

Yewon Choi·2021년 11월 26일
0

알고리즘

목록 보기
11/11

문제

https://www.acmicpc.net/problem/2606

풀이 1

# bfs
from collections import deque
n = int(input())
m = int(input())
network = [[] for _ in range(n+1)]
visited = [False]*(n+1)
answer = 0

for _ in range(m):
    a,b = map(int, input().split())
    network[a].append(b)
    network[b].append(a)

q = deque()
q.append(1)
visited[1] = True
while q:
    v = q.popleft()
    for i in network[v]:
        if not visited[i]:
            visited[i] = True
            q.append(i)
            answer += 1
print(answer)

풀이2

def dfs(v):
    global answer
    visited[v] = True
    for i in network[v]:
        if not visited[i]:
            answer += 1
            dfs(i)
n = int(input())
m = int(input())
network = [[] for _ in range(n+1)]
visited = [False]*(n+1)
answer = 0

for _ in range(m):
    a,b = map(int, input().split())
    network[a].append(b)
    network[b].append(a)

dfs(1)
print(answer)
profile
https://github.com/devAon 찰나의 개발흔적을 남기는 개발블로그 입니다 🐥 https://aonee.tistory.com 에서 Velog로 블로그 이전 작업중입니다 ! 🎶

0개의 댓글