Cod sursa(job #839774)

Utilizator chimistuFMI Stirb Andrei chimistu Data 22 decembrie 2012 11:22:33
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <cstdio>
#include <cstdlib>

FILE*f=fopen("royfloyd.in","r");
FILE*g=fopen("royfloyd.out","w");

int a[100][100],n;

int main()
{
    int i,j,k;
    fscanf(f,"%d",&n);
    for (i=0;i<n;i++)
        for (j=0;j<n;j++)
            fscanf(f,"%d",&a[i][j]);
    for (k=0;k<n;k++)
        for (i=0;i<n;i++)
            for (j=0;j<n;j++)
                if (a[i][j]>0)
                   if (a[i][j]>a[i][k]+a[k][j])
                      a[i][j]=a[i][k]+a[k][j];
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            fprintf(g,"%d ",a[i][j]);
        fprintf(g,"\n");
        }
    return 0;
}