Pagini recente » Cod sursa (job #322685) | Cod sursa (job #3159459) | Cod sursa (job #2426672) | Cod sursa (job #920913) | Cod sursa (job #1785610)
#include <iostream>
#include <cstdio>
#define infinit 0x3f3f3f3f
using namespace std;
int a[101][101], n;
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
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])
a[i][j] = infinit;
}
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(k != i && k != j && i != j && a[i][k] + a[k][j] < a[i][j])
a[i][j] = a[i][k] + a[k][j];
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
if(a[i][j] != infinit)
printf("%d ", a[i][j]);
else
printf("0 ");
printf("\n");
}
return 0;
}