Pagini recente » Cod sursa (job #1479187) | Cod sursa (job #3331317) | Cod sursa (job #3316323) | Cod sursa (job #3358658) | Cod sursa (job #1221949)
#include <cstdio>
using namespace std;
const int MAX_V = 105;
int v, adj[MAX_V][MAX_V];
int main() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &v);
for (int i = 0; i < v; i++)
for (int j = 0; j < v; j++)
scanf("%d", &adj[i][j]);
for (int k = 0; k < v; k++)
for (int i = 0; i < v; i++)
for (int j = 0; j < v; j++)
if (adj[i][k] != 0 && adj[k][j] != 0 && (adj[i][k] + adj[k][j] < adj[i][j] || adj[i][j] == 0) && i != j)
adj[i][j] = adj[i][k] + adj[k][j];
for (int i = 0; i < v; i++, printf("\n"))
for (int j = 0; j < v; j++)
printf("%d ", adj[i][j]);
return 0;
}