Cod sursa(job #1414491)

Utilizator karlaKarla Maria karla Data 2 aprilie 2015 17:40:42
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>

using namespace std;

int n, a[150][150];
FILE*f=fopen("royfloyd.in","r"),*g=fopen("royfloyd.out","w");

int main()
{
    fscanf(f,"%d\n",&n);
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
            fscanf(f,"%d ",&a[i][j]);
    }

    for(int k = 1; k <= n; k++)
    {
        for(int i = 1; i <= n; i++)
            if(i != k)
            for(int j = 1; j <= n; j++)
                if(a[i][j] > a[i][k] + a[k][j] && i != j && j != k)
                    a[i][j] = a[i][k] + a[k][j];
    }
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
            fprintf(g,"%d ",a[i][j]);
        fprintf(g,"\n");
    }

return 0;
}