Cod sursa(job #911050)

Utilizator cristigramaAlexandru Cristian Grama cristigrama Data 11 martie 2013 12:11:29
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
using namespace std;
int n,a[100][100],i,j,k;
int main()
{freopen("royfloyd.in","r",stdin);
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
    fclose(stdin);
for(k=1;k<=n;k++)
for(j=1;j<=n;j++)
for(i=1;i<=n;i++)
if((a[j][i]>a[j][k]+a[k][i]||!a[j][i])&&a[j][k]&&a[k][i]&&i!=j)
a[j][i]=a[j][k]+a[k][i];
   freopen("royfloyd.out","w",stdout);
    for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
printf("%d ",a[i][j]);printf("\n");}
fclose(stdout);
    return 0;}