Cod sursa(job #2082507)

Utilizator RG1999one shot RG1999 Data 6 decembrie 2017 13:28:02
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;
int b[101][101],n,i,j,k;
int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        scanf("%d",&b[i][j]);
    for(k=1;k<=n;k++)
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        if(b[i][k]&&b[k][j]&&(b[i][j]>b[i][k]+b[k][j]||!b[i][j])&&i!=j)
        b[i][j]=b[i][k]+b[k][j];
    for(i=1;i<=n;i++,printf("\n"))
        for(j=1;j<=n;j++)
        printf("%d ",b[i][j]);

    return 0;
}