Pagini recente » Cod sursa (job #2806710) | Cod sursa (job #216539) | Cod sursa (job #3162601) | 0001 | Cod sursa (job #2639480)
#include <bits/stdc++.h>
using namespace std;
const int INF=1e9, NMAX=101;
int dist[NMAX+1][NMAX+1];
int main() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int N;
cin>>N;
for(int i=1;i<=N;++i) {
for(int j=1;j<=N;++j) {
cin>>dist[i][j];
if(!dist[i][j] && i!=j)
dist[i][j]=INF;
}
}
for(int k=1;k<=N;++k) {
for(int i=1;i<=N;++i) {
for(int j=1;j<=N;++j) {
dist[i][j]=min(dist[i][j], dist[i][k]+dist[k][j]);
}
}
}
for(int i=1;i<=N;++i) {
for(int j=1;j<=N;++j) {
if(dist[i][j]>=INF)
cout<<0;
else
cout<<dist[i][j]<<' ';
}
cout<<'\n';
}
return 0;
}