Pagini recente » Diferente pentru home intre reviziile 210 si 902 | Istoria paginii utilizator/voncid | Cod sursa (job #972679) | Cod sursa (job #2016061) | Cod sursa (job #280179)
Cod sursa(job #280179)
#include<stdio.h>
#include<stdlib.h>
int a[500][500],n;
void roy_floyd()
{
for(int k=1;k<=n;++k)
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
if(a[i][k]!=0&&a[k][j]!=0&&(a[i][k]+a[k][j]<a[i][j]||a[i][j]==0)&&i!=j)
a[i][j]=a[i][k]+a[k][j];
}
int main()
{int m,i,x,y,c;
freopen("dijikstra.in","rt",stdin);
freopen("dijikstra.out","wt",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=m;++i) scanf("%d %d %d",&x,&y,&c),a[x][y]=c;
roy_floyd();
for(i=2;i<=n;++i) printf("%d ",a[1][i]);
//system("PAUSE");
return 0;
}