Pagini recente » Cod sursa (job #1297542) | Cod sursa (job #938625) | Cod sursa (job #2497448) | Cod sursa (job #2284120) | Cod sursa (job #766847)
Cod sursa(job #766847)
#if 1
#include <stdio.h>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
#ifdef _WIN32
#define TYPEOF decltype
#else
#define TYPEOF typeof
#endif
#define FOR(i,s,e) for(int i = s;i < e; i++)
#define TR(i, c) for(TYPEOF(c.begin()) i = c.begin(); i != c.end(); ++i)
#define TRS(i, c, ...) TR(__itr, c) { TYPEOF(*c.begin()) &i = *__itr; __VA_ARGS__ }
#define TRP(f, s, c, ...) TR(__itr, c) { TYPEOF(c.begin()->first) &f = __itr->first; TYPEOF(c.begin()->second) &s = __itr->second; __VA_ARGS__ }
#define INF 0x7F7F7F7F
int main()
{
#if 1
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
#endif
int n;
scanf("%d", &n);
int a[128][128];
FOR(i,0,n) {
FOR(j,0,n) {
scanf("%d", &a[i][j]);
if(!a[i][j]) a[i][j] = INF;
}
}
FOR(k,0,n) {
FOR(i,0,n) {
FOR(j,0,n) {
if(a[i][k] + a[k][j] < a[i][j])
a[i][j] = a[i][k] + a[k][j];
}
}
}
FOR(i,0,n) {
FOR(j,0,n) {
if(a[i][j] == INF) a[i][j] = 0;
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
#endif