Pagini recente » Cod sursa (job #162042) | Cod sursa (job #3183261) | Cod sursa (job #1645410) | Cod sursa (job #2812612) | Cod sursa (job #662022)
Cod sursa(job #662022)
#include<fstream>
#define inf 1000
using namespace std;
long dist[500001],n,m,mc[250001][3];
void BF(){
for(long i=1;i<=n;i++)
for(long j=1;j<=m;j++)
if(dist[mc[j][0]]+mc[j][2] < dist[mc[j][1]])
dist[mc[j][1]]=dist[mc[j][0]]+mc[j][2];}
int main(){
fstream f("bellmanford.in",ios::in);
fstream g("bellmanford.out",ios::out);
f>>n>>m;
for(long i=1;i<=m;i++)
f>>mc[i][0]>>mc[i][1]>>mc[i][2];
for(long i=2;i<=n;i++)
dist[i]=inf;
dist[1]=0;
BF();
int ciclu=0;
for(long i=1;i<=m;i++)
if(dist[mc[i][0]]+mc[i][2]<dist[mc[i][1]])
ciclu=1;
if(ciclu==1) g<<"Ciclu negativ!\n";
else
for(long i=2;i<=n;i++)
g<<dist[i]<<" ";
f.close();
g.close();
return 0; }