연결된 노드를 모두 방문하면 되므로 bfs, dfs 둘 다 상관없을 것 같다.
from collections import deque
n = int(input())
m = int(input())
net = []
for i in range(m):
first, second = map(int, input().split())
net.append([first, second])
def bfs(x):
res = 0
queue = deque()
queue.append(x)
visit = []
visit.append(x)
while queue:
x = queue.popleft()
for i in range(m):
if net[i][0] == x:
if net[i][1] in visit:
continue
res += 1
visit.append(net[i][1])
queue.append(net[i][1])
// 네트워크 배열의 각 인자에 첫번째 값이 x와 같으면 바이러스 걸린 갯수 추가
// 그 쌍은 방문 했음
return res
print(bfs(1))
오류
이어져 있는 쌍에서 첫번째 컴퓨터만 가지고 찾다보니 이어져 있어도 두번째 컴퓨터를 확인 안하니 누락됨
from collections import deque
n = int(input())
m = int(input())
net = []
for i in range(m):
first, second = map(int, input().split())
net.append([first, second])
def bfs(x):
res = 0
queue = deque()
queue.append(x)
visit = []
visit.append(x)
while queue:
x = queue.popleft()
for i in range(m):
if net[i][0] == x:
if net[i][1] not in visit:
res += 1
visit.append(net[i][1])
queue.append(net[i][1])
elif net[i][1] == x:
if net[i][0] not in visit:
res += 1
visit.append(net[i][0])
queue.append(net[i][0]) // 쌍의 두번째 인자도 방문
return res
print(bfs(1))