Cod sursa(job #988096)

Utilizator vicciuvic ciu vicciu Data 21 august 2013 23:58:10
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include "stdio.h"

using namespace std;

FILE *in,*out;
int i,j,k,l,m,n;
int a[100][100];

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

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

    out=fopen("royfloyd.out","w");
        for (i=0; i<n; i++)
        {
            for (j=0; j<n; j++)
            {
                fprintf(out,"%d ",a[i][j]);
            }
            fprintf(out,"\n");
        }
    return 0;
}