Pagini recente » Cod sursa (job #1351139) | Cod sursa (job #1407185) | Cod sursa (job #804213) | Cod sursa (job #2531060) | Cod sursa (job #1796573)
#include <iostream>
#include <fstream>
#define Nmax 105
#define oo 1<<29
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N,G[Nmax][Nmax];
void read()
{
fin>>N;
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
fin>>G[i][j];
if(!G[i][j] && i!=j)
G[i][j]=oo;
}
}
void royfloyd()
{
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
G[i][j]=min(G[i][j],G[i][k]+G[k][j]);
}
void print()
{
for(int i=1;i<=N;i++)
{
for(int j=1;j<=N;j++)
{
if(G[i][j]==oo)
G[i][j]=0;;
fout<<G[i][j]<<' ';
}
fout<<"\n";
}
}
int main()
{
read();
royfloyd();
print();
return 0;
}