Cod sursa(job #1989506)

Utilizator cyber_ghSoltan Gheorghe cyber_gh Data 7 iunie 2017 18:12:21
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>

using namespace std;
int N,A[100][100];
int main()
{
    ifstream fin("royfloyd.in");
    ofstream fout("royfloyd.out");
    fin>>N;
    for (int i=0;i<N;i++)
        for (int j=0;j<N;j++) {
                fin >>A[i][j];
                if (i!=j && A[i][j]==0) A[i][j]=1e9;
        }
    for (int k=0;k<N;k++)
        for (int i=0;i<N;i++)
            for (int j=0;j<N;j++){
                A[i][j]=min(A[i][j],A[i][k]+A[k][j]);
            }
    for (int i=0;i<N;i++)
        for (int j=0;j<N;j++) {
                if (i!=j && A[i][j]==1e9) A[i][j]=0;
                fout <<A[i][j]<<" \n"[j==N-1];
        }
    return 0;
}