Cod sursa(job #2965499)

Utilizator Robert_MitriRobert Mitri Robert_Mitri Data 15 ianuarie 2023 14:24:53
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int n;

int v[105][105];
int sol[105][105];

int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            fin>>sol[i][j];
            if(!sol[i][j] && i!=j)
                sol[i][j]=0x3FFFFFFF;
        }
    }
    for(int k=1;k<=n;k++)
    {
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
            {
                if(sol[i][j]>sol[i][k]+sol[k][j] && sol[i][k]!=0 && sol[k][j]!=0)
                    sol[i][j]=sol[i][k]+sol[k][j];
            }
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
    {
        fout<<sol[i][j]<<' ';
    }
    fout<<'\n';
    }
}