다익스트라 6

백준 1719번 택배 (C++)

문제 링크 : https://www.acmicpc.net/problem/1719 1719번: 택배 명우기업은 2008년부터 택배 사업을 새로이 시작하기로 하였다. 우선 택배 화물을 모아서 처리하는 집하장을 몇 개 마련했지만, 택배 화물이 각 집하장들 사이를 오갈 때 어떤 경로를 거쳐야 하 www.acmicpc.net 문제 요약 1. 두 수 n과 m이 주어집니다. 2. n은 집하장의 개수 (200이하 자연수) 이며, m은 집하장간 경로의 개수 (1000이하 자연수) 입니다. 집하장간 경로의 소요 시간은 모두 1000이하의 자연수 입니다. 3. 1번부터 n번까지, 한 집하장에서 다른 집하장으로 최단 경로로 화물을 이동시키기 위해 가장 먼저 거쳐야 하는 집하장을 출력하세요. 핵심 포인트 우선 다익스트라의 개념..

백준 14938번 서강그라운드 (C++)

문제 링크 : https://www.acmicpc.net/problem/14938 14938번: 서강그라운드 예은이는 요즘 가장 인기가 있는 게임 서강그라운드를 즐기고 있다. 서강그라운드는 여러 지역중 하나의 지역에 낙하산을 타고 낙하하여, 그 지역에 떨어져 있는 아이템들을 이용해 서바이벌을 www.acmicpc.net 문제 요약 1. 첫째줄에 지역의 개수 n (1 c; map[a].push_back({b,c}); map[b].push_back({a,c}); } for(int i=1; i> m >> r; for(int i=1; i> items[i]; for(int i=0; i> a >> b >> c; map[a].push_back({b,c}); map[b].push_back({a,c}); } (2) 1번..

백준 4485번 녹색 옷 입은 애가 젤다지? (C++)

문제 링크 : https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 문제 요약 1. 테스트 케이스가 여러개 주어집니다. 2. 각 테이스케이스마다 n이 주어집니다. n이 0일 경우 테스트는 종료됩니다. (0

백준 5972번 택배 배송 (C++)

문제 링크 : https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 문제 요약 1. 현서는 헛간 1에 있고 찬홍이는 헛간 N에 있습니다. 2.각 헛간에는 소가 있습니다. 3. m개의 횟수만큼 a에서 b로가서 마주치는 소에게 주어야할 여물 c가 주어집니다. 4. 현서가 찬홍이에게 가기 위해 사용해야하는 최소한의 여물의 비용을 구하세요. 핵심 포인트 다익스트라를 활용해서 쉽게 풀 수 있는 문제입니다. 여물의 비용을 결국 최단거리 비용으로 생각하면 됩니다. 문제 ..

백준 1504번 특정한 최단 경로 (C++)

문제 링크 : https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 이 문제는 2가지 루트의 최단 거리를 각각 구하여, 그 중 가장 작은 값을 선택하면 된다. 1 -> T1 -> T2 -> N 1 -> T2 -> T1 -> N 이때 경로가 없는 루트일 경우, 적절히 최대 값을 셋팅하여 Stack over flow가 발생하지 않도록 주의해야한다. 문제 풀이는 다음과 같다. 1. 필요한 변수를 선언하고 값을 ..

프로그래머스 배달 (C++)

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 다익스트라 알고리즘을 알고있으면 별 고민을 하지 않고 풀 수 있는 문제다. 문제 풀이는 다음과 같다. 1. 필요한 변수들을 선언하고 값을 저장해준다. vector v[51]; // (1) vector dist; ... int solution(int N, vector road, int K) { int answer = 0; d..