백준/ Silver 2 문제 , 백준 파이썬 24445, 알고리즘 수업 - 너비 우선 탐색 2 [BFS]
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
pypy3 로 통과. 파이썬은 시간초과 발생
<문제 출처>
https://www.acmicpc.net/problem/24445
정답
from collections import deque
def bfs(graph,start):
dq=deque()
dq.append(graph[start])
check=[[0,0] for _ in range(N+1)]
check[start][0],check[start][1]=1,1
cnt=2
while dq:
n=dq.popleft()
n.sort(reverse=True)
for i in n:
if check[i][1]==0:
check[i][0]=cnt
check[i][1]=1
cnt+=1
dq.append(graph[i])
for i in range(1,N+1):
print(check[i][0])
N,M,R=map(int,input().split())
graph=[[] for _ in range(N+1)]
for i in range(M):
a,b=map(int,input().split())
graph[a].append(b)
graph[b].append(a)
bfs(graph,R)
반응형
'알고리즘 공부 > 백준 - 파이썬' 카테고리의 다른 글
백준/ Gold 3 문제 , 백준 파이썬 16236 , 아기 상어 [BFS] (0) | 2022.07.25 |
---|---|
백준/ Silver 1 문제 , 백준 파이썬 11403, 경로 찾기 [플로이드 워셜] (0) | 2022.07.22 |
백준/ Bronze 3 문제 , 백준 파이썬 2857 , FBI (0) | 2022.07.22 |
백준/ Bronze 4 문제 , 백준 파이썬 11945, 뜨거운 붕어빵 (0) | 2022.07.22 |
백준/ Bronze 4 문제 , 백준 파이썬 4299 , AFC 윔블던 (0) | 2022.07.22 |