Pagini recente » Cod sursa (job #1045376) | Cod sursa (job #2470740) | Cod sursa (job #2563468) | Cod sursa (job #1723633) | Cod sursa (job #1889970)
///2-royfloyd
#include <iostream>
#include <cstdio>
using namespace std;
int v[100][100];
int main()
{
FILE *f=fopen("royfloyd.in","r");
FILE *g=fopen("royfloyd.out","w");
int i,j,k,n;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fscanf(f,"%d",&v[i][j]);
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ if(i!=j && i!=k && j!=k)
if(v[i][k] && v[k][i] && (v[i][j]==0 || v[i][j]>v[i][k]+v[k][j]))
{
v[i][j]=v[i][k]+v[k][j];
}
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
fprintf(g,"%d ",v[i][j]);
fprintf(g,"\n");
}
return 0;
}