Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 189 si 223 | Cod sursa (job #3292292) | Istoria paginii implica-te/arhiva-educationala | Cod sursa (job #3294042) | Cod sursa (job #3293591)
#include <bits/stdc++.h>
using namespace std;
#define inf 1005
ifstream fin("royfloyd.in"); ofstream fout("royfloyd.out");
int main(){
int n;
fin >> n;
vector<vector<int>> grid(n+1, vector<int>(n+1, inf));
for(int i = 1; i<=n; i++){
for(int j = 1; j<=n; j++){
fin >> grid[i][j];
}
}
for(int k = 1; k<=n; k++){
for(int i = 1; i<=n; i++){
for(int j = 1; j<=n; j++){
if(grid[i][k] && grid[k][j] && i != j){
grid[i][j] = min(grid[i][j], grid[i][k] + grid[k][j]);
}
}
}
}
for(int i = 1; i<=n; i++){
for(int j = 1; j<=n; j++){
fout << grid[i][j] << " ";
}
fout << endl;
}
}