https://www.acmicpc.net/problem/1260
내 코드
from collections import deque
def dfs(graph,n,visited):
visited[n] = True
print(n,end=" ")
for i in graph[n]:
if visited[i] == False:
dfs(graph,i,visited)
def bfs(graph,start,visited):
queue = deque([start])
visited[start] = True
while queue:
v = queue.popleft()
print(v,end=" ")
for i in graph[v]:
if visited[i]==False:
visited[i] = True
queue.append(i)
N,M,V = map(int,input().split())
graph = [[] for _ in range(N+1)]
visited = [False for _ in range(N+1)]
for i in range(M):
l,r = map(int,input().split())
graph[l].append(r)
graph[r].append(l)
[g.sort() for g in graph]
dfs(graph,V,visited)
visited = [False for _ in range(N+1)]
print()
bfs(graph,V,visited)
그래프 코드 짜는 법이 기억이 안나서 기초부터 다지고왔다!ㅠㅠ
dfs, bfs 순서대로 구해주었다.
백준에 있는 숏코딩은 해석불가..
'코딩테스트 > Python' 카테고리의 다른 글
[Python] 백준 1476 - 날짜 계산 (0) | 2021.11.17 |
---|---|
[Python] 백준 11724 - 연결 요소의 개수 (0) | 2021.11.16 |
[Python] 백준 14719 - 빗물 (0) | 2021.11.16 |
[프로그래머스] 캐시 (0) | 2021.10.17 |
[프로그래머스] 입실 퇴실 (0) | 2021.10.05 |