Cod sursa(job #855623)

Utilizator SPDionisSpinei Dionis SPDionis Data 15 ianuarie 2013 12:41:52
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

void main()
{
    int i,j,k,n,a[100][100]; FILE *f;
    f=fopen("royfloyd.in","r");
    fscanf(f,"%i",&n);
    for (i=0; i<n; i++)
     for (j=0; j<n; j++)
    fscanf(f,"%i",&a[i][j]);
    fclose(f);

    for (k=0; k<n; k++)
     for (i=0; i<n; i++)
      for (j=0; j<n; j++)
      if (a[i][j]>a[i][k]+a[k][j]) a[i][j]=a[i][k]+a[k][j];

    f=fopen("royfloyd.out","w");
    for (i=0; i<n; i++)
    {
        if (i!=0) fprintf(f,"\n");
        for (j=0; j<n; j++)
        fprintf(f,"%-2i",a[i][j]);
    }
    fclose(f);
}