Pagini recente » Cod sursa (job #2574012) | Cod sursa (job #1894783) | Cod sursa (job #1611887) | Cod sursa (job #2972509) | Cod sursa (job #1427234)
#include <bits/stdc++.h>
using namespace std;
int n,t[110][110];
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
void ScanData()
{
int i,j;
fin >> n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
fin >> t[i][j];
}
void roy_floyd()
{
int i,j,k;
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (t[i][k] && t[k][j] &&(t[i][j]>t[i][k]+t[k][j] || !t[i][j])&& i!=j)
t[i][j]=t[i][k]+t[k][j];
}
void PrintData()
{
int i,j;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)fout << t[i][j] << " ";
fout << "\n";
}
}
int main()
{
ScanData();
roy_floyd();
PrintData();
return 0;
}