Cod sursa(job #2298393)

Utilizator ApetriiRaduApetrii Radu ApetriiRadu Data 8 decembrie 2018 09:39:54
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>
#define NMAX 105
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int tata[NMAX][NMAX];
int M[NMAX][NMAX];
int n;

void citire();
void afisare();
void pd();
int main()
{citire();
 pd();
 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];
         if(i!=j && M[i][j]==0)
            M[i][j]=INT_MAX/2;
        }
}
void pd()
{int i,j,x;
 for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
       for(x=1;x<=n;x++)
          {if(j!=x && M[j][x]>M[j][i]+M[i][x])
             M[j][x]=M[j][i]+M[i][x];
          }
}
void afisare()
{int i,j;
 for(i=1;i<=n;i++)
    {for(j=1;j<=n;j++)
        fout<<M[i][j]<<' ';
     fout<<'\n';
    }

}