알고리즘

Baekjoon

[백준 11729번] 하노이 탑

N = int(input()) n = 2**N - 1 def hanoi(n, start, middle, end): if n == 1: print(start, end) return hanoi(n-1, start, end, middle) print(start, end) hanoi(n-1, middle, start, end) print(n) hanoi(N, 1, 2, 3) 문제에서는 1, 2, 3으로 함수에 전달해야하지만 숫자보단 보기 쉽게 문자로 작성해봤습니다 백준에 입력하실때는 숫자로 입력하시면 됩니다

알고리즘

[파이썬 알고리즘]deque로 하는 BFS

from collections import deque graph = [[], [2, 3], [1, 8], [1, 4, 5], [3, 5], [3, 4], [7, 8], [6, 8], [2, 6, 7]] def bfs(graph, node, visited): queue = deque([node]) visited[node] = True while queue: v = queue.popleft() print(v, end = ' ') for i in graph[v]: if not visited[i]: queue.append(i) visited[i] = True visited = [False]*9 bfs(graph, 1, visited)

개발자 박태영
'알고리즘' 태그의 글 목록