Cod sursa(job #2562635)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 29 februarie 2020 16:30:26
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
#define Dim 101
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
long long  N,A[Dim][Dim][2];

int main()
{
    f>>N;
    for(int i=1;i<=N;i++)
    for(int j=1;j<=N;j++)
    {
        f>>A[i][j][0];
        if(A[i][j][0]==0 && i!=j ) A[i][j][0]=INT_MAX;
    }

    for(int k=1;k<=N;k++)
    for(int i=1;i<=N;i++)
    for(int j=1;j<=N;j++)
    if(i!=j)
    A[i][j][k%2]=min(A[i][j][!(k%2)],A[i][k][!(k%2)]+A[k][j][!(k%2)]);

    for(int i=1;i<=N;i++,g<<'\n')
    for(int j=1;j<=N;j++)
    g<<A[i][j][N%2]<<' ';


    return 0;
}