Pagini recente » Cod sursa (job #1922858) | Cod sursa (job #136755) | Cod sursa (job #2840411) | Cod sursa (job #1862578) | Cod sursa (job #1796568)
#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])
G[i][j]=oo;
}
}
void royfloyd()
{
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=i+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;
}