Pagini recente » Cod sursa (job #2858098) | Cod sursa (job #612034) | Cod sursa (job #2660748) | Cod sursa (job #2583517) | Cod sursa (job #2382570)
#include <iostream>
#include <fstream>
#define MAX 110
#define VMAX 1000000000
using namespace std;
int n;
int d[MAX][MAX];
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>>d[i][j];
if(d[i][j]==0)d[i][j]=VMAX;
}
for(int i=1;i<=n;i++)d[i][i]=0;
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(d[i][j]>d[i][k]+d[k][j])
d[i][j]=d[i][k]+d[k][j];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
if(d[i][j]!=VMAX) g<<d[i][j]<<" ";
else g<<"0 ";
g<<'\n';
}
f.close ();
g.close ();
return 0;
}