Pagini recente » Cod sursa (job #3168300) | Cod sursa (job #971070) | Cod sursa (job #219643) | Cod sursa (job #1146290) | Cod sursa (job #3157898)
#include <bits/stdc++.h>
#define MAXN 105
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int main() {
int n, graph[MAXN][MAXN] = {0};
fin >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
fin >> 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] = min(graph[i][j], graph[i][k] + graph[k][j]);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++)
fout << (graph[i][j] == INT_MAX ? 0 : graph[i][j]) << ' ';
fout << '\n';
}
return 0;
}