Pagini recente » Cod sursa (job #820966) | Cod sursa (job #1755462) | Cod sursa (job #1999723) | Cod sursa (job #969604) | Cod sursa (job #2970056)
#include<iostream>
#include<deque>
#include<algorithm>
#include<vector>
#include<fstream>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
const int mx = 100;
const int inf = 1e9;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n;
int d[mx][mx];
void read(){
in>>n;
for(int i=0;i<n;i++){
for(int k=0;k<n;k++){
in>>d[i][k];
if(i!=k && d[i][k] == 0)
d[i][k] = inf;
}
}
}
void solve(){
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
int s = d[i][k] + d[k][j];;
if(s < d[i][j]){
d[i][j] = s;
}
}
}
}
for(int i=0;i<n;i++){
for(int k=0;k<n;k++){
if(d[i][k] == inf)
d[i][k] = 0;
out<<d[i][k]<<" ";
}
out<<'\n';
}
}
int main(){
read();
solve();
return 0;
}