Pagini recente » Cod sursa (job #2126458) | Cod sursa (job #348273) | Cod sursa (job #544298) | Cod sursa (job #2122518) | Cod sursa (job #1508095)
/**
* Worg
*/
#include <cstdio>
#define INF 1000000000
#define MAX_N 1 + 100
using namespace std;
FILE *fin=freopen("royfloyd.in","r",stdin);
FILE *fout=freopen("royfloyd.out","w",stdout);
int A[MAX_N][MAX_N];
int n;
int main()
{
int i, j, k;
scanf("%d", &n);
for(i = 1; i <= n; ++i)
for(j = 1; j <= n; ++j) {
scanf("%d", &A[i][j]);
A[i][j] = (A[i][j] != 0 ? A[i][j] : INF);
}
for(int k = 1; k <= n; ++k)
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
if(A[i][k] + A[k][j] < A[i][j])
A[i][j] = A[i][k] + A[k][j];
for(i = 1; i <= n; ++i)
{
for(j = 1; j <= n; ++j)
printf("%d ", (A[i][j] != INF ? A[i][j] : 0));
printf("\n");
}
return 0;
}