Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define PI 2*asin(1)
- #define FOR(i,n) for(long long i = 0; i < n;i++)
- using namespace std;
- long long n,m,s,t;
- vector<vector<long long>>ch(100001);
- vector <long long>res;
- vector<vector<long long>>rast(100001);
- void go(long long v){
- for(long long i : rast[v]){
- res[i] = min(res[i], res[v]+ch[v][i]);
- go(i);
- }
- }
- int main()
- {
- ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
- cin >> n >> m >> s >> t; s--;t--;
- FOR(i,n) res.push_back(INT_MAX);
- FOR(i,n) FOR(j,m) ch[i].push_back(0);
- res[s] = 0;
- FOR(i,m){
- long long x,y,z;cin >> x >> y >> z; x--;y--;
- rast[x].push_back(y);
- ch[x][y] = z;
- }
- go(s);
- long long y = res[t];
- if(y<INT_MAX)cout << res[t];
- else cout << "Unreachable";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement