Cod sursa(job #280181)

Utilizator alexandru92alexandru alexandru92 Data 13 martie 2009 11:32:08
Problema Algoritmul lui Dijkstra Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#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("dijkstra.in","rt",stdin);
   freopen("dijkstra.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;
  }