Advertisement
Falak_Ahmed_Shakib

bellman struct

Oct 15th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. using ll = long long;
  4. #define pb push_back
  5. typedef struct
  6. {
  7. int u,v,w;
  8. }node;
  9. ll n,m;
  10. const ll MAX = 1e5+7 , inf=INFINITY;
  11. vector<node>adj;
  12. long long dis[MAX];
  13. void bellman_ford(int s)
  14. {
  15. for(ll i=1;i<=n;i++)
  16. {
  17. dis[i]=inf;
  18. }
  19.  
  20. for(ll i=1;i<n;i++)
  21. {
  22. for(node x:adj)
  23. {
  24. ll u=x.u;
  25. ll v=x.v;
  26. ll w=x.w;
  27. if(dis[v]>dis[u]+w)
  28. {
  29. dis[v]=dis[u]+w;
  30. }
  31. }
  32. }
  33.  
  34. }
  35. int main()
  36. {
  37.  
  38. cin>>n>>m;
  39.  
  40. for(ll i=1; i<=m; i++)
  41. {
  42. ll u,v,w;
  43. cin>>u>>v>>w;
  44.  
  45. node a;
  46.  
  47. a.u=u;
  48. a.v=v;
  49. a.w=w;
  50. adj.push_back(a);
  51.  
  52. }
  53.  
  54. bellman_ford(0);
  55.  
  56. for(ll i=0;i<n;i++)
  57. {
  58. cout<<i<<" "<<dis[i]<<endl;
  59. }
  60.  
  61.  
  62. return 0;
  63. }
  64. /*
  65.  
  66. 3 3
  67. 0 1 1000
  68. 1 2 15
  69. 2 1 -42
  70.  
  71.  
  72. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement