Pagini recente » Cod sursa (job #2689327) | Cod sursa (job #2325467) | Cod sursa (job #3179134) | Cod sursa (job #208199) | Cod sursa (job #2198797)
#include <stdio.h>
using namespace std;
FILE *f,*g;
int C[102][102],tata[102][102];
int n;
void read()
{
fscanf(f,"%d",&n);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
fscanf(f,"%d",&C[i][j]);
}
void roy_floyd ()
{
int i, j, k;
for (k=1;k<=n;k++)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (C[i][k] && C[k][j] && (C[i][j] > C[i][k] + C[k][j] || !C[i][j]) && i != j) C[i][j] = C[i][k] + C[k][j];
{
C[i][j] = C[i][k]+C[k][j];
tata[i][j] = tata[k][j];
}
}
int main()
{
f=fopen("royfloyd.in","r");
g=fopen("royfloyd.out","w");
read();
int aux, sol1,sol2,mare=999999;
roy_floyd();
for(int i=1;i<=n;i++,fprintf(g,"\n"))
for(int j=1;j<=n;j++)
fprintf(g,"%d ",C[i][j]);
return 0;
}