Pagini recente » Cod sursa (job #2940537) | Cod sursa (job #2447159) | Cod sursa (job #934602) | Cod sursa (job #2176926) | Cod sursa (job #2977678)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n, a[105][105];
void citire() {
fin>>n;
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
fin>>a[i][j];
}
void roy_floyd() {
for (int k=0; k<n; k++)
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
if (a[i][k] && a[k][j] && (a[i][j]>a[i][k]+a[k][j] || !a[i][j]) && i!=j)
a[i][j]=a[i][k]+a[k][j];
}
void afisare() {
for (int i=0; i<n; i++) {
for (int j=0; j<n; j++)
fout<<a[i][j]<<" ";
fout<<"\n";
}
}
int main() {
citire();
roy_floyd();
afisare();
return 0;
}