Pagini recente » Cod sursa (job #1295686) | Cod sursa (job #1839277) | Cod sursa (job #729098) | Cod sursa (job #894924) | Cod sursa (job #1181206)
/*
Keep It Simple!
*/
#include<fstream>
using namespace std;
#define MaxN 105
#define inf 1<<30
long long M[MaxN][MaxN],N;
int main()
{
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f >> N;
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
f >> M[i][j];
if(!M[i][j]) M[i][j] = inf;
}
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
if(i != j && M[i][j] > M[i][k]+M[k][j])
M[i][j] = M[i][k] + M[k][j];
}
for(int i=1;i<=N;i++)
{
for(int j=1;j<=N;j++)
{
if(M[i][j] == inf)
M[i][j] = 0;
g << M[i][j] << " ";
}
g<<"\n";
}
f.close();
g.close();
return 0;
}