Pagini recente » Cod sursa (job #3366159) | Cod sursa (job #3365468) | Cod sursa (job #3366378) | Cod sursa (job #3366158) | Cod sursa (job #3364942)
#include <bits/stdc++.h>
using namespace std;
int maD=100000000;
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int N;cin>>N;
int d[N][N], res[N][N];
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
cin>>d[i][j];
if(d[i][j]==0)d[i][j]=maD;
res[i][j]=d[i][j];
}
}
for(int k=0;k<N;k++){
for(int i=0;i<N;i++){
if(i==k)continue;
for(int j=0;j<N;j++){
if(j==i || j==k)continue;
res[i][j]=min(res[i][j], res[i][k]+res[k][j]);
}
}
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(res[i][j]>=maD)res[i][j]=0;
cout<<res[i][j]<<' ';
}
cout<<'\n';
}
}