Pagini recente » Cod sursa (job #1243356) | Cod sursa (job #1188327) | Cod sursa (job #1096927) | Cod sursa (job #1318983) | Cod sursa (job #418464)
Cod sursa(job #418464)
#include<stdio.h>
#include<vector>
#define inf 250000001
struct muchie
{
int x;
int y;
int c;
}muchii[250001];
int main()
{
freopen("bellmanford.in","r",stdin);
freopen("bellmanford.out","w",stdout);
int n,m,d[50001];
scanf("%d %d",&n,&m);
memset(d,inf,n);
for(int i=1; i<=m; ++i)
{
scanf("%d %d %d", &muchii[i].x,&muchii[i].y,&muchii[i].c);
if(muchii[i].x==1) d[muchii[i].y]=muchii[i].c;
}
int gata=0,j;
for(j=1;j<=m&&(!gata);++j)
{
gata=1;
for(int i=1; i<=m; ++i)
if(d[muchii[i].y]>d[muchii[i].x]+muchii[i].c)
{
d[muchii[i].y]=d[muchii[i].x]+muchii[i].c;
gata=0;
}
}
if(!gata) printf("Ciclu negativ!");
else for(int i=2; i<=n; ++i) printf("%d ",d[i]);
return 0;
}