Pagini recente » Cod sursa (job #2855708) | Cod sursa (job #2711236) | Cod sursa (job #2086978) | Cod sursa (job #947148) | Cod sursa (job #2327829)
#include <fstream>
#include <limits>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
static const int NMAX = 105;
static const int INF = INT_MAX;
int n;
long long v[NMAX][NMAX];
void ReadInput()
{
fin >> n;
for(int i = 1; i<= n; ++i)
for(int j = 1; j<= n; ++j){
fin >> v[i][j];
if(i!=j && v[i][j] == 0)
v[i][j] = INF;
}
}
void RoyFloyd()
{
int k,i,j;
for(k = 1; k<= n; ++k)
{
for(i = 1; i<= n; ++i)
{
for(j = 1; j<=n; ++j)
{
if(v[i][j] > v[i][k] + v[k][j])
v[i][j] = v[i][k] + v[k][j];
}
}
}
}
void PrintOutput()
{
for(int i =1;i <=n ; ++i)
{
for(int j =1; j<=n; ++j)
{
fout << v[i][j] << " ";
}
fout << endl;
}
}
int main()
{
ReadInput();
RoyFloyd();
PrintOutput();
return 0;
}