Pagini recente » Cod sursa (job #253671) | Cod sursa (job #1403799) | Cod sursa (job #2794016) | Cod sursa (job #2911582) | Cod sursa (job #1007879)
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");ofstream fout("royfloyd.out");
const int NMAX=102;
int n,a[NMAX][NMAX];
void read ()
{
fin>>n;
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
fin>>a[i][j];
}
}
void roy_floyd ()
{
for (int k=1; k<=n; k++)
{
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
{
if (a[i][k] && a[k][j] && (a[i][j]>a[i][k]+a[k][j] || !a[i][j]) && i!=j)
a[i][j]=a[i][k]+a[k][j];
}
}
}
}
void print ()
{
for (int i=1; i<=n; i++)
{
for (int j=1; j<=n; j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
int main ()
{
read ();
roy_floyd ();
print ();
fin.close();fout.close();
return 0;
}