Guest User

Sunnydale

a guest
Apr 29th, 2021
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     //freopen("input.txt","r",stdin);
  7.     //freopen("output.txt","w",stdout);
  8.     int n,m,h,s;
  9.    
  10.     cin>>n>>m>>h>>s;
  11.    
  12.     vector<vector<int>> g(n, vector<int>(n,0));
  13.    
  14.     for(int i=0;i<m;i++)
  15.     {
  16.         int a,b,c;
  17.         cin>>a>>b>>c;
  18.         g[a-1][b-1] = c;
  19.         g[b-1][a-1] = c;
  20.     }
  21.    
  22.    
  23.     int partenza = h-1;
  24.     int indiceMin;
  25.     int min = 50001;
  26.     int ans = 0;
  27.    
  28.     if(h == s)
  29.     {
  30.         cout<<ans<<endl;
  31.         return 0;  
  32.     }
  33.    
  34.     for(int i=0;i<n;i++)
  35.     {
  36.         if(g[partenza][i] == 0 || g[partenza][i] == -1)
  37.             continue;
  38.            
  39.         if(partenza == s-1)
  40.         {
  41.             cout<<ans<<endl;
  42.             return 0;
  43.         }
  44.        
  45.         if(g[partenza][i] < min)
  46.         {
  47.             min = g[partenza][i];
  48.             indiceMin = i;
  49.         }
  50.        
  51.         if(i == n-1)
  52.         {
  53.             min = 50001;
  54.             i=-1;
  55.             ans++;
  56.             partenza = indiceMin;
  57.         }
  58.        
  59.     }
  60.    
  61.    
  62.     cout<<-1<<endl;
  63.    
  64. }
Advertisement
Add Comment
Please, Sign In to add comment