import sys
sys.setrecursionlimit(10 ** 6)
input = sys.stdin.readline
def dfs(graph, v, visited):
global cnt
visited[v] = cnt
for i in sorted(graph[v]):
if visited[i] == 0:
cnt += 1
dfs(graph, i, visited)
n, m, r = map(int, input().split())
graph = [[] for _ in range(n + 1)]
visited = [0] * (n + 1)
cnt = 1
for _ in range(m):
u, v = map(int, input().split())
graph[u].append(v)
graph[v].append(u)
dfs(graph, r, visited)
for i in range(1, n + 1):
print(visited[i])
1) 처음에 이 부분 추가 안해줘서 런타임에러
sys.setrecursionlimit(10 ** 6)
2) 다음엔 10 ** 6 을 10* 6이라고 쓰고 런타임에러
이걸 계속 발견하지 못하고 왜 에러나지 한참 고민함.. 분명 코드는 틀린게 없는데..)
하하.. 다 나임 ㅋ ㅋ .. (그래도 뭐.. 30분이면.. 한참은 아닌가 )
반응형
'알고리즘 > BFS&DFS' 카테고리의 다른 글
백준 11725 트리의 부모 찾기 (0) | 2024.01.28 |
---|---|
백준 16953 (bfs) (0) | 2024.01.28 |
백준11724 (0) | 2024.01.23 |
[BFS&DFS기본] 백준1260번 (Python) (0) | 2024.01.22 |
백준 2644(촌수 계산) -BFS (0) | 2023.08.24 |