Algorithm
백준 2606 바이러스 재채점 변경사항
qbinee
2023. 7. 2. 20:29
반례: 컴퓨터가 1만 따로 있는 경우 OR 1번 컴퓨터가 존재하지 않는 경우
import collections
n = int(input())
graph = [[] for _ in range(n+1)]
for _ in range(int(input())):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
visited_node = []
q = collections.deque()
q.append(1) # 1번 컴퓨터
while q:
frm = q.popleft()
for to in graph[frm]:
if to not in visited_node:
q.append(to)
visited_node.append(to)
## 반례: 1만 고립된 경우
if len(visited_node) == 1 or len(visited_node) == 0:
print(0)
else:
print(len(visited_node)-1)