Pagini recente » Cod sursa (job #523589) | Cod sursa (job #1316019) | Cod sursa (job #2232283) | Cod sursa (job #1705085) | Cod sursa (job #1762506)
#include<iostream>
#include<fstream>
#define INF 1999999999
using namespace std;
typedef struct muchie
{
long long int x,y,c;
}muchie;
int n,m;
muchie v[250001];
ifstream f("bellmanford.in");
ofstream g("bellmanford.out");
void bellman_ford(int x)
{
int d[250001],i,j,ok;
for(i=1;i<=n;i++)
d[i]=INF;
d[x]=0;
for(i=1;i<=n;i++)
{
ok=0;
for(j=1;j<=m;j++)
if(d[v[j].x]!=INF)
if(d[v[j].y]>d[v[j].x]+v[j].c)
{
ok=1;
d[v[j].y]=d[v[j].x]+v[j].c;
}
}
if(ok)
g<<"Ciclu negativ!";
else
{
for(i=1;i<=n;i++)
if(i!=x)
g<<d[i]<<" ";
}
}
int main()
{
int i;
f>>n>>m;
for(i=1;i<=m;i++)
f>>v[i].x>>v[i].y>>v[i].c;
bellman_ford(1);
return 0;
}