Pagini recente » Istoria paginii runda/eusebiu_oji_2014_cls10/clasament | Cod sursa (job #1654213) | Cod sursa (job #2301264) | Cod sursa (job #1901611) | Cod sursa (job #411773)
Cod sursa(job #411773)
#include <stdio.h>
#define inf 0x3f3f3f
#define size 105
using namespace std;
int a[size][size];
int rez[size][size];
int n;
void citire()
{
scanf ("%d",&n);
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
scanf ("%d",&a[i][j]);
if(a[i][j]==0 && i!=j)
a[i][j]=inf;
}
}
int min(int a,int b)
{
return a<b?a:b;
}
void roy()
{
for (int k=0;k<n;k++)
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
void afish()
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
printf("%d ",a[i][j]==inf?0:a[i][j]);
printf("\n");
}
}
int main ()
{
freopen ("royfloyd.in","r",stdin);
freopen ("royfloyd.out","w",stdout);
citire();
roy();
afish();
return 0;
}