Pagini recente » Cod sursa (job #2611402) | Cod sursa (job #3268433) | Cod sursa (job #2123822) | Borderou de evaluare (job #3146086) | Cod sursa (job #1007873)
#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]) && i!=k && j!=k)
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;
}