Subscribe Us

Responsive Advertisement

Advertisement

Problem 22 Bellman Ford Algorithm using c++

 

 

                               by ujjal roy



#include<bits/stdc++.h>

using namespace std;

int main()

{

    int n,m,i,j;

    cout<<"Enter number of node and edges : ";

    cin>>n>>m;

    vector<vector<int>>adj;

    for(i=0;i<m;i++)

    {      int u,v,w;

          cout<<"Enter source destination weight : ";

          cin>>u>>v>>w;

        adj.push_back({u,v,w});



    }

    cout<<"Enter source : ";

     int src;

     cin>>src;

     int dis[n+1];

     for(i=0;i<=n;i++)dis[i]=1000000;

     dis[src]=0;

    for(i=0;i<n-1;i++)

    {

        for(j=0;j<m;j++)

        {

            int u,v,w;

               u=adj[j][0];

               v=adj[j][1];

               w=adj[j][2];

            if(dis[u]!=1000000&&dis[u]+w<dis[v])

            {


                 dis[v]=dis[u]+w;

            }


        }


    }

    for(i=0;i<n;i++)

    {

        cout<<dis[i]<<" ";

    }

    cout<<endl;


    return 0;

}


Post a Comment

0 Comments