Pagini recente » Cod sursa (job #756867) | Cod sursa (job #2941229) | Cod sursa (job #43183) | Cod sursa (job #2258972) | Cod sursa (job #2959461)
#include <fstream>
#include <vector>
#define nmax int32_t(1e5 + 5)
#define int long long
using namespace std;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int adj[1001][1001], ans[1001][1001];
int32_t main() {
int n;
cin>>n;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++)
cin>>ans[i][j];
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++)
if(!ans[i][j])
ans[i][j] = 1e11;
}
for(int k=0; k<n; k++)
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
if(i!=j && i!=k && j!=i)
ans[i][j] = min(ans[i][j], ans[i][k] + ans[k][j]);
for(int i=0; i<n; i++){
for(int j=0; j<n; j++)
if(ans[i][j] == 1e11)
ans[i][j] = 0;
}
for(int i=0; i<n; i++){
for(int j=0; j<n; j++)
cout<<ans[i][j]<<" ";
cout<<endl;
}
}