Cod sursa(job #1739772)

Utilizator Dan_RadulescuRadulescu Dan Dan_Radulescu Data 10 august 2016 10:04:10
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
using namespace std;
FILE *f1=fopen("royfloyd.in","r");
FILE *f2=fopen("royfloyd.out","w");
int d[101][101],i,j,k,n;
int main(){
   fscanf(f1,"%d",&n);
   for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
           fscanf(f1,"%d",&d[i][j]);
   fclose(f1);
   for (k=1;k<=n;k++)
    for (i=1;i<=n;i++)
     for (j=1;j<=n;j++)
        if (d[i][k]!=0 && d[k][j]!=0 && (d[i][k]+d[k][j]<d[i][j] || d[i][j]==0) && i!=j){
               d[i][j]=d[i][k]+d[k][j];
        }
   for (i=1;i<=n;i++){
      for (j=1;j<=n;j++)
        fprintf(f2,"%d ",d[i][j]);
      fprintf(f2,"\n");
   }
   return 0;
}