Pagini recente » Cod sursa (job #130637) | Cod sursa (job #2183448) | Cod sursa (job #1635593) | Cod sursa (job #1657363) | Cod sursa (job #3271244)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream input("royfloyd.in");
ofstream output("royfloyd.out");
int main()
{
int N;
input >> N;
vector<vector<int>> dist_matr(N, vector<int>(N));
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
input >> dist_matr[i][j];
}
}
for(int k = 0; k < N; k++){
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
if(dist_matr[i][j] > dist_matr[i][k] + dist_matr[k][j] && dist_matr[i][k] != 0 && dist_matr[k][j] != 0){
dist_matr[i][j] = dist_matr[i][k] + dist_matr[k][j];
}
}
}
}
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
output << dist_matr[i][j] << " ";
}
output << endl;
}
return 0;
}