Cod sursa(job #1616073)

Utilizator Lucian_BosinceanuLucian-Andrei Bosinceanu Lucian_Bosinceanu Data 27 februarie 2016 09:35:01
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#define DMAX 101

using namespace std;

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

int n;
long long int M[DMAX][DMAX];

void citire();
void rezolvare();
void afisare();

int main()
{
citire();
rezolvare();
afisare();
    return 0;
}

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

void rezolvare()
{
int i,j,k;
for (k=1;k<=n;k++)
     for (i=1;i<=n;i++)
          for (j=1;j<=n;j++)
               if (M[i][j]>M[i][k]+M[k][j])
                   M[i][j]=M[i][k]+M[k][j];
}

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