Pagini recente » Cod sursa (job #3149582) | Profil EugenStoica | Cod sursa (job #1275028) | Cod sursa (job #3248914) | Cod sursa (job #3271618)
#include <bits/stdc++.h>
#define NMAX 100
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int dist[NMAX + 1][NMAX + 1];
int main()
{
int N;
fin >> N;
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++){
fin >> dist[i][j];
}
}
for(int k = 1; k <= N; k++){
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++){
if(dist[i][k] && dist[k][j]){
if(i != j && dist[i][j] == 0){
dist[i][j] = dist[i][k] + dist[k][j];
}
else {
dist[i][j] = min(dist[i][j],
dist[i][k] + dist[k][j]);
}
}
}
}
}
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++){
fout << dist[i][j] << ' ';
}
fout << "\n";
}
fout << "\n";
return 0;
}