반응형
✏️ 문제 링크
https://www.acmicpc.net/problem/14284
✏️ 문제 설명 (더보기 클릭 👆🏻)
✏️ 문제 풀이
2021.09.15 - [Algorithm 🧠/알고리듬(thm) 공부 🌱] - [백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐
위 문제를 이해하면 쉽게 풀 수 있는 문제 😊
✏️ 문제 코드
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int, int>;
#define MAX 5001
#define INF 987654321
vector<int> dist(MAX, INF);
vector<pii> vec[MAX];
int dijkstra(int s, int t){
priority_queue<pii> pq; pq.push({0, s});
dist[s]=0;
while(!pq.empty()){
pii t=pq.top(); pq.pop();
int c=t.second; int d=t.first*-1;
if(dist[c]<d)continue;
for(int i=0; i<vec[c].size(); i++){
int nxt=vec[c][i].first;
int nxt_d=vec[c][i].second + d;
if(nxt_d<dist[nxt]){
dist[nxt]=nxt_d;
pq.push({nxt_d*-1, nxt});
}
}
}
return dist[t];
}
int main(){
int n, m; cin>>n>>m;
while(m--){
int a,b,c; cin>>a>>b>>c;
vec[a].push_back({b, c});
vec[b].push_back({a, c});
}
int s, t; cin>>s>>t;
cout<<dijkstra(s, t);
return 0;
}
⭐ if feedback and question : comment please⭐
반응형
'Algorithm 💫 > Problem Solving' 카테고리의 다른 글
[백준] 1238번: 파티 / C++ (0) | 2021.09.28 |
---|---|
[백준] 17396번: 백도어 / C++ (0) | 2021.09.27 |
[백준] 5972번: 택배 배송 / C++ (0) | 2021.09.27 |
[백준] 1446번: 지름길 / C++ (0) | 2021.09.27 |
[백준] 1504번: 특정한 최단 경로 / C++ (0) | 2021.09.24 |
댓글