Pagini recente » Cod sursa (job #1881087) | Cod sursa (job #1856430) | Profil Ancutei | Cod sursa (job #1187207) | Cod sursa (job #1181374)
/*
Keep It Simple!
*/
#include<fstream>
using namespace std;
#define MaxN 105
#define inf 1<<20
int N,Mat[MaxN][MaxN];
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 >> Mat[i][j];
if(!Mat[i][j]) Mat[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 && Mat[i][j] > Mat[i][k] + Mat[k][j])
Mat[i][j] = Mat[i][k] + Mat[k][j];
for(int i=1;i<=N;i++)
{
for(int j=1;j<=N;j++)
{
if(Mat[i][j] == inf) Mat[i][j] = 0;
g << Mat[i][j] << ' ';
}
g << "\n";
}
}