Pagini recente » Cod sursa (job #2740969) | Cod sursa (job #2001348) | Istoria paginii utilizator/colt516 | Cod sursa (job #998769) | Cod sursa (job #1765769)
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<vector>
#include<utility>
#include<cstring>
#include<map>
#include<time.h>
#define pb push_back
#define po pop_back
#define fs first
#define sc second
#define INF 100000L * 100000L * 100000L * 10000L
using namespace std;
int v[101][101],n,i,j,k;
int main(){
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","wt",stdout);
cin.sync_with_stdio(false);
cin>>n;
for(i=0;i<n;++i)
for(j=0;j<n;++j)
cin>>v[i][j];
for(i=0;i<n;++i)
for(j=0;j<n;++j){
for(k=0;k<n;++k)
if(v[i][k] && v[k][j] && (v[i][k]+v[k][j]<v[i][j] || !v[i][j]) && i!=j){
v[i][j]=v[k][j]+v[i][k];
}
}
// OUT
for(i=0;i<n;++i){
for(j=0;j<n;++j)
cout<<v[i][j]<<" ";
cout<<endl;
}
return 0;
}