Cod sursa(job #1393623)

Utilizator felipeGFilipGherman felipeG Data 19 martie 2015 17:15:25
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#define INF 100000
using namespace std;

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

long int a[100][100];
int n;
int main()
{
    fscanf(f,"%d",&n);

    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
           fscanf(f,"%ld",&a[i][j]);

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

     for(int i=0;i<n;++i)
     {
        for(int j=0;j<n;++j)
          fprintf(g,"%ld ",a[i][j]);
       fprintf(g,"\n");
     }
     return 0;
}