Pagini recente » Cod sursa (job #3289688) | Cod sursa (job #3278042) | Cod sursa (job #3285415) | Cod sursa (job #3290316) | Cod sursa (job #3293594)
#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] && (grid[i][j] > grid[i][k] + grid[k][j] || !grid[i][j]) && i!=j) 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;
}
}