Pagini recente » Cod sursa (job #84826) | Cod sursa (job #2819866) | Cod sursa (job #940640) | Cod sursa (job #858217) | Cod sursa (job #2758554)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
int main()
{
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int N;
cin >> N;
vector<vector<int>> graph(N, vector<int>(N, 0));
for(int i = 0; i < N; ++i)
for(int j = 0; j < N; ++j)
cin >> graph[i][j];
for(int k = 0; k < N; ++k)
for(int i = 0; i < N; ++i)
for(int j = 0; j < N; ++j)
if(i !=j && (graph[i][k] && graph[k][j]) && (graph[i][k] + graph[k][j] < graph[i][j] || !graph[i][j]))
graph[i][j] = graph[i][k] + graph[k][j];
for(int i = 0; i < N; ++i){
for(int j = 0; j < N; ++j)
cout << graph[i][j] << " ";
cout << "\n";
}
cin.close();
cout.close();
return 0;
}