Cod sursa(job #2282687)

Utilizator andonis1616And Cuz andonis1616 Data 14 noiembrie 2018 12:33:40
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#define NMAX 105
#define inf NMAX*NMAX*1000
using namespace std;
ifstream in ("royfloyd.in");
ofstream out ("royfloyd.out");

int n;
int dist[NMAX][NMAX];

int main()
{
    int i,j,k;
    in>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++){
            in>>dist[i][j];
            if(i!=j and dist[i][j]==0)
                dist[i][j]=inf;
        }

    for(k=1;k<=n;k++){
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if(dist[i][j]>dist[i][k]+dist[k][j]){
                    dist[i][j]=dist[i][k]+dist[k][j];
                }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++)
            out<<dist[i][j]<<' ';
        out<<'\n';
    }
    return 0;
}