Cod sursa(job #3326898)

Utilizator zionlyismAdobroaiei David zionlyism Data 1 decembrie 2025 10:16:20
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

#define NMAX 102
using namespace std;

ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");

int n, A[NMAX][NMAX];

void citire();
void afisare();
int main()
{
    citire();
    //roy-floyd ---> matricea costurilor
    int k, i, j;
    for(k = 1; k <= n; k++) //nodul intermediar
        for(i = 1; i <= n; i++)
           for(j = 1; j <= n; j++)
              if(A[i][k] && A[k][j] && A[i][j] > A[i][k] + A[k][j])
                 A[i][j] = A[i][k] + A[k][j];
    afisare();
    return 0;
}

void citire()
{
 int i, j;
 fin>>n;
 for(i = 1; i <= n; i++)
    for(j = 1; j <= n; j++)
       fin>>A[i][j];
}

void afisare()
{
 int i, j;
 for(i = 1; i <= n; i++)
 {
     for(j = 1; j <= n; j++)
       fout<<A[i][j]<<' ';
     fout<<'\n';
 }
}