Pagini recente » Cod sursa (job #546695) | Cod sursa (job #606344) | Cod sursa (job #2093261) | Cod sursa (job #2735079) | Cod sursa (job #879238)
Cod sursa(job #879238)
#include<fstream>
using namespace std;
long i,d[50002],k,ok,n,m,l[3][250002];
long inf=1000000000;
ofstream fout("bellmanford.out");
ifstream fin("bellmanford.in");
void citire_lm()
{
fin>>n>>m;
for(i=1;i<=m;++i)
fin>>l[0][i]>>l[1][i]>>l[2][i];
}
int main()
{
citire_lm();
for(i=1;i<=n;++i) d[i]=inf;
d[1]=0;
k=0;
do
{
ok=1;
for(i=1;i<=m;++i)
if(d[l[0][i]]+l[2][i]<d[l[1][i]])
{
d[l[1][i]]=d[l[0][i]]+l[2][i];
ok=0;
}
k++;
}while(ok==0&&k<=n+1);
if(k==n+1)
fout<<"Ciclu negativ!"<<endl;
else
for(i=2;i<=n;++i)
fout<<d[i]<<' ';
fout.close();
return 0;
}