Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5.  
  6.  
  7. vector<int>adj[10009];
  8. int main()
  9. {
  10. int n,m;
  11. cin>>n>>m;
  12.  
  13. int u, v, w;
  14. for(int i=0; i<m ; i++)
  15. {
  16. cin>>u>>v>>w;
  17. adj[i].push_back(u);
  18. adj[i].push_back(v);
  19. adj[i].push_back(w);
  20.  
  21. }
  22.  
  23. int dist[1001];
  24. for(int i=0; i<=1000; i++)
  25. {
  26. dist[i]=1000000000;
  27. }
  28.  
  29. // source and endpoint
  30. int source, endp;
  31. cin>>source>>endp;
  32.  
  33. dist[source]=0;
  34. int j;
  35. for(int i=0; i<n-1; i++)
  36. {
  37. j=0;
  38. while(j<m)
  39. {
  40. u=adj[j][0];
  41. v=adj[j][1];
  42. w=adj[j][2];
  43.  
  44. if(dist[u]+w<dist[v])
  45. {
  46. dist[v]=dist[u]+w;
  47. // parent er jonno
  48. // pa[ v ] = u;
  49. }
  50. j++;
  51. }
  52.  
  53. }
  54.  
  55. j=0;
  56. while(j<m)
  57. {
  58. u=adj[j][0];
  59. v=adj[j][1];
  60. w=adj[j][2];
  61.  
  62. if(dist[u]+w<dist[v])
  63. {
  64. cout<<"Negative cycle"<<endl;
  65. return 0;
  66.  
  67. }
  68. j++;
  69. }
  70.  
  71. cout<<dist[endp]<<endl;
  72.  
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement