Cod sursa(job #2058184)

Utilizator aeromaniaXRadoi Iulian aeromaniaX Data 5 noiembrie 2017 11:34:34
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;

int n,a[103][103],INF=2e7;

void cit(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++){
            scanf("%d",&a[i][j]);
            if(i!=j && a[i][j]==0)
                    a[i][j]=INF;
    }
}
void afis()
{
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++)
                printf("%d ",(a[i][j]!=INF)* a[i][j]);
                printf("\n");
        }
}
void floyd()
{
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                a[i][j]= min(a[i][j], a[i][k] + a[k][j]);
}

int main()
{
        freopen("royfloyd.in","r",stdin);
        freopen("royfloyd.out","w",stdout);

        cit();
        floyd();
        afis();
        return 0;

}