Pagini recente » Cod sursa (job #2882352) | Cod sursa (job #1936630) | Cod sursa (job #2336840) | Cod sursa (job #893478) | Cod sursa (job #1290231)
#include<fstream>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
#define Nmax 101
int M[Nmax][Nmax], N;
void citire()
{
in>>N;
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
in>>M[i][j];
}
void royfloyd()
{
for(int k=1; k <= N; k++)
for(int i=1; i <= N; i++)
for(int j=1; j <= N; j++)
if(M[i][k] && M[k][j] && i!=j && (M[i][j] > M[i][k]+M[k][j] || M[i][j]==0)) M[i][j] = M[i][k]+M[k][j];
}
void afisare()
{
for(int i=1;i<=N;i++)
{
for(int j=1;j<=N;j++)
out<<M[i][j]<<' ';
out<<'\n';
}
}
int main ()
{
citire();
royfloyd();
afisare();
return 0;
}