Cod sursa(job #2640955)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 9 august 2020 13:01:30
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
int n,i,j,k,inf,v[105][105][105];
int main()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    f>>n;
    inf=1000005;
    for(i=1; i<=n; i++)
    for(j=1; j<=n; j++)
    {
        f>>v[i][j][0];
        if(v[i][j][0]==0) v[i][j][0]=inf;
    }
    for(k=1; k<=n; k++)
    for(i=1; i<=n; i++)
    for(j=1; j<=n; j++)
    {
        v[i][j][k]=min(v[i][j][k-1],v[i][k][k-1]+v[k][j][k-1]);
    }
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            if(v[i][j][n]==inf) v[i][j][n]=0;
            if(i==j) v[i][j][n]=0;
            g<<v[i][j][n]<<" ";
        }
        g<<'\n';
    }
    f.close(); g.close();
    return 0;
}