-
[백준 문제풀이] 얼렁뚱땅 1260번 DFS와 BFS 풀이얼렁뚱땅 백준 문제풀이 2022. 2. 18. 13:34
자꾸 DFS랑 BFS 맨날맨날 봐도 잊어버리는 마법
https://www.acmicpc.net/problem/1260 풀이
from collections import deque n, m, start = map(int, input().split()) path = [] for i in range(m) : path.append(list(map(int, input().split()))) visit_dfs = [False] * (n+1) visit_bfs = [False] * (n+1) def dfs(path, i, visit_dfs) : visit_dfs[i] = True print(i, end=' ') path_two = [] for t in range(m) : if path[t][0] == i : path_two.append(path[t][1]) elif path[t][1] == i : path_two.append(path[t][0]) path_two.sort() for k in path_two : if visit_dfs[k] == False: dfs(path, k, visit_dfs) def bfs(path, i, visit_bfs) : queue = deque() queue.append(i) while queue : num = queue.popleft() print(num, end=' ') visit_bfs[num] = True temp = [] for t in range(m) : if path[t][0] == num : temp.append(path[t][1]) elif path[t][1] == num : temp.append(path[t][0]) temp.sort() for k in temp : if (visit_bfs[k] == False) : queue.append(k) visit_bfs[k] = True dfs(path, start, visit_dfs) print() bfs(path, start, visit_bfs)
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 1026번 보물 문제 풀이 (2) 2022.02.18 [백준 문제풀이] 얼렁뚱땅 2667번 단지번호붙이기 풀이 (0) 2022.02.18 [백준 문제풀이] 얼렁뚱땅 1931번 회의실 배정 문제 풀... (2) 2022.02.17 [백준 문제풀이] 얼렁뚱땅 11399번 ATM 문제 풀이 (0) 2022.02.16 [백준 문제풀이] 얼렁뚱땅 2839번 설탕 배달 문제 (0) 2022.02.16