Pagini recente » Monitorul de evaluare | Cod sursa (job #1455810) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1458027)
#include<fstream>
#include<iostream>
#include <stdio.h>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n,b[101][101],k;
int main(){
fin >>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
fin>>b[i][j];
int i,j;
for (k = 0; k <=n; k++)
{
for (i = 0; i <= n; i++)
{
for (j = 0; j <=n; j++)
{
if ((b[i][k] * b[k][j] != 0) && (i != j))
{
if ((b[i][k] + b[k][j] < b[i][j]) || (b[i][j] == 0))
{
b[i][j] = b[i][k] + b[k][j];
}
}
}
}
}
for(int i=1;i<=n;i++)
{for(int j=1;j<=n;j++)
fout<<b[i][j]<<" ";
fout<<endl;
}
return 0;
}