Dijkstra 3

[백준 1922] 네트워크 연결

문제https://www.acmicpc.net/problem/1922알고리즘1. 연결관계를 dict에 저장한다2. 다익스트라 알고리즘으로 최단 경로를 탐색한다 3. 모든 네트워크가 연결되어야 하므로 1번부터 끝 번인 N번까지 탐색 하여 최소 값을 업데이트 한다 코드import sys, math, heapqdef Input_Data(): input = sys.stdin.readline N = int(input()) M = int(input()) adj = {i : [] for i in range(1,N+1)} for _ in range(M): a,b,c = map(int, input().split()) adj[a].append([b,c]) a..

Algorithm 2024.09.17

[백준 1504] 특정한 최단 경로

문제 https://www.acmicpc.net/problem/1504 알고리즘1. 최단 경로를 탐색해야함2. A/B는 반드시 거쳐가야 하므로 시작점과 끝점을 정해서 최단 경로를 구해 온 뒤 최소 값을 출력한다3. 1->A->B->N  /// 1->B->A->N 을 각각 구해서 최소 값을 구한다 코드import sys, heapq, mathdef Input_Data(): input = sys.stdin.readline N, E = map(int, input().split()) graph = {i : [] for i in range(1, N+1)} for _ in range(E): # 양방향 그래프 관계 저장 a,b,c = map(int, input().spl..

Algorithm 2024.09.01

[백준 1916] 최소비용 구하기

최소비용 구하기 문제설명 각 도시들의 정보를 입력받고, 출발도시에서 도착도시까지 가는데 드는 최소 비용을 구하자. 알고리즘 값을 각각 입력 받는다. pair형태의 백터 배열에 시작점, 도착점 ,cost를 입력받는다. dist 배열을 INF로 초기화 시켜준다. priority_queue를 사용하여 현재 비용, 시작 도시를 넣어준다. 우선순위 큐에서 비용을 끄내는데 부호를 음수로 설정하고, 현재 도시를 꺼낸뒤 큐에서 지운다. 현재 거리비용이 만약 지금 꺼낸 거리의 비용보다 작으면 넘어간다. 반복문으로 이웃한 부분의 비용과 값을 확인한다. 확인한 값이 최소경로인 경우 거리를 갱신해주고 다시 큐에 넣는다. #include #include #include #include #include #define MAX 10..

Algorithm 2021.07.30