[ Chapter.05 ] Part03 / 특정 거리의 도시 찾기
모든 간선의 비용이 동일할 때는 BFS를 이용해 최단 거리를 찾을 수 있습니다. from collections import deque n, m, k, x = map(int, input().split()) graph = [[] for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) # print(graph) # [[], [2, 3], [3, 4], [], []] check = [-1] * (n + 1) check[x] = 0 # 너비 우선 탐색(BFS) 수행 q = deque([x]) # print(q) # deque([1]) while q: now = q.popleft() # 현재 도시에서 이동할..
2022. 7. 31.
[ BOJ ] 14888 / 연산자 끼워넣기
문제 n개의 수로 이루어진 수열이 주어집니다. 수와 수 사이에 끼워 넣을 수 있는 n-1개의 연산자가 주어집니다. 연산자는 +, -, x, / 로만 구성됩니다. 주어진 수열의 순서를 바꾸는것은 안됩니다. Solve 연산자의 순열을 구합니다. operator = ['+', '+', '-', '*', '/'] arr = itertools.permutations(operator, len(operator)) print(len(list(arr))) # 120 ('+', '+', '-', '*', '/') 이런게 겹치는 것을 확인할 수 있습니다. 이때 전체 길이는 120입니다. arr = itertools.permutations(operator, len(operator)) arr_set = set(list(arr)..
2022. 7. 26.