Pagini recente » Cod sursa (job #2704819) | Cod sursa (job #2075020) | Cod sursa (job #502629) | Cod sursa (job #463560) | Cod sursa (job #507524)
Cod sursa(job #507524)
#include <iostream>
#include <stdio.h>
using namespace std;
int n,a[101][101];
void citire()
{
freopen ("royfloyd.in","r",stdin);
scanf ("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf ("%d",&a[i][j]);
}
void royfloyd()
{
for (int k=1;k<=n;k++)
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if ((a[i][j]>a[i][k]+a[k][j] || !a[i][j]) && a[i][k] && a[k][j] && i!=j)
a[i][j]=a[i][k]+a[k][j];
}
void afis()
{
freopen ("royfloyd.out","w",stdout);
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",a[i][j]);
printf ("\n");
}
}
int main()
{
citire();
royfloyd();
afis();
return 0;
}