Cod sursa(job #1314727)

Utilizator dica69Alexandru Lincan dica69 Data 12 ianuarie 2015 11:04:00
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <cstdio>
#define INF 9999

using namespace std;
FILE *f1,*f2;
int a[101][101],d[101][101],n,i,j,k;

int main()
{f1 = fopen("royfloyd.in","r");
f2 = fopen("royfloyd.out","w");
fscanf(f1,"%d",&n);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++) {fscanf(f1,"%d",&a[i][j]);if (a[i][j]==0) a[i][j]=INF;}
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (i!=j && i!=k && j!=k) a[i][j]=min(a[i][j],a[i][k]+a[k][j]);

for (i=1;i<=n;i++)
{for (j=1;j<=n;j++) if (a[i][j]==INF) fprintf(f2,"0 "); else fprintf(f2,"%d ",a[i][j]);
fprintf(f2,"\n");
}

fclose(f1);fclose(f2);

    return 0;
}

//Challenges are what make life interesting and overcoming them is what makes life meaningful.