Cod sursa(job #2223644)

Utilizator NecoaraGabrielNecoara Gabriel-Stefan NecoaraGabriel Data 20 iulie 2018 21:31:14
Problema Floyd-Warshall/Roy-Floyd Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<iostream>


#define N 100
#define FOR(i,a,b) for(i=a;i<=b;i++)

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int n,dist[N][N],i,j,k;
int main()
{
    f>>n;
    FOR(i,1,n)
        FOR(j,1,n)
            f>>dist[i][j];

    FOR(k,1,n)
        FOR(i,1,n)
            FOR(j,1,n)
                if((dist[i][j] > dist[i][k] + dist[k][j]) && dist[i][k] && dist[k][j])
                    dist[i][j] = dist[i][k] + dist[k][j];
    FOR(i,1,n)
       {
        FOR(j,1,n)
            g<<dist[i][j]<<" ";
        g<<"\n";
       }

    return 0;
}