Pagini recente » Cod sursa (job #441201) | Cod sursa (job #2547228) | Cod sursa (job #789756) | Cod sursa (job #3254488) | Cod sursa (job #700473)
Cod sursa(job #700473)
#include<cstdio>
#define _NMAX 110
#define INF 1<<29
using namespace std;
int nN, mAd[_NMAX][_NMAX];
int main()
{
FILE *f=fopen("royfloyd.in", "r");
fscanf(f,"%d", &nN);
for (int i=1;i<=nN;i++)
for (int j=1;j<=nN;j++)
{
fscanf(f, "%d", &mAd[i][j]);
if (mAd[i][j]==0) mAd[i][j]=INF;
}
for (int k=1;k<=nN;k++)
for (int i=1;i<=nN;i++)
for (int j=1;j<=nN;j++)
if (mAd[i][j]>mAd[i][k]+mAd[k][j])
mAd[i][j]=mAd[i][k]+mAd[k][j];
f=fopen("royfloyd.out", "w");
for (int i=1;i<=nN;i++)
{
for (int j=1;j<=nN;j++)
fprintf(f,"%d ", (i==j||mAd[i][j]==INF)?0 :mAd[i][j]);
fprintf(f,"\n");
}
}