Pagini recente » Cod sursa (job #1761505) | Cod sursa (job #1174910) | Istoria paginii runda/becreative11 | Cod sursa (job #1705654) | Cod sursa (job #2424798)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
void Roy_Floyd(int matrice[101][101], int n) {
int i, j, k;
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if (matrice[i][j] > (matrice[i][k] + matrice[k][j]) || matrice[i][j] == 0) {
if ((matrice[i][k] != 0) && (matrice[k][j] != 0) && (i != j))
matrice[i][j] = matrice[i][k] + matrice[k][j];
}
}
int main() {
int N, matrice[101][101];
int i, j;
fin >> N;
for (i = 1; i <= N; i++)
for (j = 1; j <= N; j++)
fin >> matrice[i][j];
Roy_Floyd(matrice, N);
for (i = 1; i <= N; i++) {
for (j = 1; j <= N; j++)
fout << matrice[i][j] << " ";
fout << endl;
}
return 0;
}