๐งฎ PS ๋ฐฑ์ค (boj) ํ์ด์ฌ - 1260 : DFS์ BFS - ๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1260 1260๋ฒ: DFS์ BFS ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 โค N โค 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 โค M โค 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ www.acmicpc.net from collections import deque N, M, V = list(map(int, input().split())) matrix = [[0 for i in range(N+1)] for i in range(N+1)] dfs_answer = [] bfs_answer = [] visited = [False for i in range(N + 1)] visit = [False for i in range(N + 1)] ## ์ธ์ ํ๋ ฌ ๋ฐฉ์์ผ๋ก ์ ๋ ฅ๋ฐ๊ธฐ. for i in range(M): x, y = map(int, input().split()) matrix[x][y] = matrix[y][x] = 1 def dfs(V) : dfs_answer.append(str(V)) visited[V] = True for i in range(1, N + 1) : if visited[i] == False and matrix[V][i] == 1 : dfs(i) queue = deque() def bfs(V): visit[V] = True queue.append(V) while (queue) : V = queue.popleft() bfs_answer.append(str(V)) for i in range(1, N+1): if visit[i] == False and matrix[V][i] == 1 : queue.append(i) visit[i] = True dfs(V) bfs(V) print(" ".join(dfs_answer)) print(" ".join(bfs_answer)) ๊ณต์ ํ๊ธฐ URL ๋ณต์ฌ์นด์นด์คํก ๊ณต์ ํ์ด์ค๋ถ ๊ณต์ ์์ค ๊ณต์ ๊ฒ์๊ธ ๊ด๋ฆฌ ๊ตฌ๋ ํ๊ธฐnewmon Contents ๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ ๋ฐฑ์ค (boj) ํ์ด์ฌ - 2667 : ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ 2021.08.25 [ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ํ๋ฆฐํฐ 2021.06.23 DFS (๊น์ด ์ฐ์ ํ์) , BFS (๋๋น ์ฐ์ ํ์) 2021.06.22 ์คํ, ํ, ๋ฑ (stack, queue, daque) 2021.06.16 ๋๊ธ 0 + ์ด์ ๋๊ธ ๋๋ณด๊ธฐ