Cod sursa(job #1813250)

Utilizator nnnmmmcioltan alex nnnmmm Data 22 noiembrie 2016 20:28:46
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia7-grafuri Marime 0.65 kb
#include<cstdio>

const int NMAX=100;

int v[NMAX+1][NMAX+1];

int main()
{
 FILE *in=fopen("royfloyd.in","r");
 int n;
 fscanf(in,"%d ",&n);
 for(int i=1;i<=n;i++)
     for(int j=1;j<=n;j++)
         fscanf(in,"%d ",&v[i][j]);
 fclose(in);
 for(int k=1;k<=n;k++)
     for(int i=1;i<=n;i++)
         for(int j=1;j<=n;j++)
             if(v[i][k]!=0 && v[k][j]!=0 && (v[i][k]+v[k][j]<v[i][j] || v[i][j]==0 && i!=j))
                v[i][j]=v[i][k]+v[k][j];
 FILE *out=fopen("royfloyd.out","w");
 for(int i=1;i<=n;i++)
     {
      for(int j=1;j<=n;j++)
          fprintf(out,"%d ",v[i][j]);
      fprintf(out,"\n");
     }
 fclose(out);
}