Advertisement
Riz1Ahmed

BallmanFord Algorithm

Feb 19th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. #include <cstdio>
  2. #include <cstring>
  3. #include <vector>
  4. #define SZ 1000000
  5. using namespace std;
  6. int main(){
  7.     freopen("Dijkstra.txt","r",stdin);
  8.     int n,e,u,v,w,i,j,c;
  9.     scanf("%d %d",&n,&e);
  10.     int dis[n+2],cost[n+2][n+2];
  11.     for (i=0; i<=n; i++){
  12.         dis[i]=SZ;
  13.         for (j=i; j<=n; j++)
  14.             cost[i][j]=cost[j][i]=SZ;
  15.         cost[i][i]=0;
  16.     }
  17.     for (i=0; i<e; i++){
  18.         scanf("%d %d %d",&u,&v,&w);
  19.         cost[u][v]=cost[v][u]=w;
  20.     }
  21.     printf("All short path from node 0 is:\n",n);
  22.     dis[0]=0;
  23.     for (i=0; i<=n; i++){
  24.         for (j=0; j<=n; j++){
  25.             if (dis[i]+cost[i][j]<dis[j]){
  26.                 dis[j]=dis[i]+cost[i][j];
  27.             }
  28.         }
  29.     }
  30.     for (i=0; i<=n; i++) printf("%d ",dis[i]); puts("");
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement