Pagini recente » Cod sursa (job #3167120) | Cod sursa (job #2874587) | Cod sursa (job #3174559) | Cod sursa (job #2663518) | Cod sursa (job #892375)
Cod sursa(job #892375)
#include<iostream>
#include<fstream>
#define inf 999999
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
unsigned short a[101][101],n;
void read ()
{
in>>n;
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j )
{ in>>a[i][j];
if(a[i][j]==0 && i!=j)
a[i][j]=inf;
}
}
void ryf()
{
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]!=inf && a[k][j]!=inf && a[i][j]>a[i][k]+ a[k][j])
a[i][j]=a[i][k]+a[k][j];
}
void afis()
{
for(int i=1; i<=n; ++i)
{ for(int j=1; j<=n; ++j)
out<<a[i][j]<<" ";
out<<'\n';
}
}
int main ()
{
read ();
ryf();
afis();
in.close();
out.close();
return 0;
}