Pagini recente » Monitorul de evaluare | Cod sursa (job #1689340) | Cod sursa (job #1374093) | Cod sursa (job #965607) | Cod sursa (job #1616081)
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n, i, j, k;
int M[101][101];
int main()
{
fin>>n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
fin>>M[i][j];
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];
if (M[j][i]>M[j][k]+M[k][i])
M[j][i]=M[j][k]+M[k][i];
}
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
{
fout<<M[i][j]<<" ";
}
fout<<'\n';
}
return 0;
}