[알고리즘/파이썬] 백준 2606 - 바이러스
2020. 7. 14. 08:10ㆍ개발/알고리즘
https://www.acmicpc.net/problem/2606
2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어��
www.acmicpc.net
간단한 BFS문제.
computers = int(input())
edge_num = int(input())
edges = []
for _ in range(edge_num):
s,e = list( map(int,input().split()))
edges.append([s,e])
que = []
visit = []
# 출발지
que.append(1)
# BFS
while True:
# 큐가 비면 종료
if len(que) == 0 : break
cur = que.pop(0)
for ed in edges:
if cur in ed:
# cur 부분은 제거
ed.remove(cur)
# 남은 부분이 cur와 연결된 값.
v = ed.pop()
# que와 visit에 input
if v not in visit:
que.append(v)
visit.append(v)
print(len(visit))
'개발 > 알고리즘' 카테고리의 다른 글
[알고리즘/파이썬] 백준 11047번 - 동전0 (0) | 2020.07.16 |
---|---|
[알고리즘/파이썬] 백준 1157 - 단어공부 (0) | 2020.07.15 |
[알고리즘/파이썬] 1697번 - 숨바꼭질 (0) | 2020.07.13 |
[알고리즘/파이썬] 백준 2178 - 미로탐색 (0) | 2020.07.07 |
[알고리즘/파이썬] 백준 1992번 - 쿼드트리 (0) | 2020.06.14 |