-
40. 바이러스Problem Solving 2022. 12. 31. 15:56728x90
https://www.acmicpc.net/problem/2606
2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어
www.acmicpc.net
전형적인 BFS/DFS 문제....
from collections import deque numbOfCom = int(input()) linklist = [[] for i in range(numbOfCom)] numbOfLink = int(input()) for i in range(numbOfLink): a, b = map(int, input().split()) linklist[a - 1].append(b) linklist[b - 1].append(a) comlist = [False] * numbOfCom queue = deque([i for i in linklist[0]]) while(len(queue) != 0): index = queue[0] comlist[index - 1] = True for j in linklist[index - 1]: if comlist[j - 1] == False: queue.append(j) queue.popleft() comlist[0] = False print(comlist.count(True))
이런 알고리즘 문제에 많이 약한 듯
오래 걸림
정말 생각지도 못한 반례.....ㅎㅎㅎ..
'Problem Solving' 카테고리의 다른 글
42. Valid Perfect Square (0) 2022.12.31 41. Employee Importance (1) 2022.12.31 39. ACM 호텔 (1) 2022.12.31 38. Sqrt(x) (0) 2022.12.31 37. Self Dividing Numbers (0) 2022.12.31