Cod sursa(job #2988654)

Utilizator rARES_4Popa Rares rARES_4 Data 5 martie 2023 11:20:18
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.04 kb
#include <iostream>
#include <fstream>
#define MAX 1<<31-1
using namespace std;
ifstream f ("royfloyd.in");
ofstream g ("royfloyd.out");
int n;
int matr[101][101];
int main()
{
    f >>n;
    for(int i = 1;i<=n;i++)
    {
        for(int j = 1;j<=n;j++)
        {
            f >> matr[i][j];
            if(i != j && matr[i][j]==0)
                matr[i][j] = MAX;
        }
    }
    for(int intermediar = 1;intermediar<=n;intermediar++)
    {
        for(int i = 1;i<=n;i++)
        {
            for(int j = 1;j<=n;j++)
            {
                if(i!=j)
                {
                    if(matr[i][intermediar]+matr[intermediar][j]<matr[i][j])
                        matr[i][j] = matr[i][intermediar]+matr[intermediar][j];
                }
            }
        }
    }
    for(int i = 1;i<=n;i++)
    {
        for(int j = 1;j<=n;j++)
        {
            if(matr[i][j]==MAX)
                g << 0<<" ";
            else
                g << matr[i][j]<< " ";
        }
        g << '\n';
    }
}