Pagini recente » Cod sursa (job #887774) | Cod sursa (job #2132665) | Cod sursa (job #3170298) | Cod sursa (job #1846621) | Cod sursa (job #1048493)
#include <fstream>
#define Nmax 105
#define INF 1000000000
using namespace std;
int N,a[Nmax][Nmax];
inline void Read()
{
int i,j;
ifstream fin("royfloyd.in");
fin>>N;
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
fin>>a[i][j];
fin.close();
}
inline void RoyFloyd()
{
int i,j,mij;
for(mij=1;mij<=N;++mij)
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
if(i!=mij && mij!=j && i!=j)
if(a[i][mij] && a[mij][j] && (a[i][j]> a[i][mij]+a[mij][j] || !a[i][j]))
a[i][j]=a[i][mij]+a[mij][j];
ofstream fout("royfloyd.out");
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
int main()
{
Read();
RoyFloyd();
return 0;
}