본문 바로가기

파이썬47

백준 1854 : K번째 최단경로 찾기 (Python) 출처 : https://www.acmicpc.net/problem/1854 import heapq n, m, k = map(int, input().split()) graph = [[] for _ in range(n+1)] for _ in range(m) : a, b, c = map(int, input().split()) graph[a].append((c, b)) dist = [[] for _ in range(n+1)] def dijkstra(start, k) : # pq, dist에 초기값 삽입 pq = [] heapq.heappush(dist[start], 0) heapq.heappush(pq, (0, start)) while pq : # dist_now : 시작점부터 현 노드까지의 거리 dist_no.. 2023. 5. 2.
백준 11779번 : 최소비용 구하기 2 (Python) 출처 : https://www.acmicpc.net/problem/11779 import heapq n = int(input()) m = int(input()) graph = [[] for _ in range(n+1)] for _ in range(m) : a, b, c = map(int, input().split()) graph[a].append((b, c)) start, end = map(int, input().split()) INF = int(1e8) dist = [[INF, 0] for _ in range(n+1)] def dijkstra(start, end) : dist[start][0] = 0 pq = [] heapq.heappush(pq, (dist[start][0], start)) while.. 2023. 4. 30.
Numpy 배열에서 0이 아닌 값 찾기 Numpy 라이브러리를 불러와서 4*3 크기의 행렬 x 생성 In [1]: import numpy as np x = np.array([[0, 1, 0], [2, 5, 0], [3, 1, 2], [0, 0, 3]]) x Out[1]: array([[0, 1, 0], [2, 5, 0], [3, 1, 2], [0, 0, 3]]) n차원의 행렬 x에 0이 아닌 값이 k개 있다고 할때, np.nonzero(x)를 실행하면 길이 k인 array n개가 반환된다. 각 array는 0이 아닌 값들의 i번째 차원 index를 저장하고 있음 x의 0행 1열, 1행 0열, 1행 1열... 3행 2열까지 모두 0이 아님을 확인 가능 In [2]: np.nonzero(x) Out[2]: (array([0, 1, 1, 2, 2,.. 2023. 3. 29.
백준 24519번 : Bottleneck TSP (Large) (Python) 출처 : https://www.acmicpc.net/problem/24519 n, m = map(int, input().split()) INF = int(1e8) graph = [[INF] * n for _ in range(n)] for _ in range(m) : u, v, c = map(int, input().split()) graph[u-1][v-1] = c dp = [[0] * (1 2023. 3. 24.