Pagini recente » Cod sursa (job #2436964) | Cod sursa (job #2487644) | Cod sursa (job #1785673) | Cod sursa (job #1511095) | Cod sursa (job #2404583)
#include <iostream>
#include <fstream>
using namespace std;
#define minim(a, b) ( (a < b) ? a : b )
#define nMax 105
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int n, a[nMax][nMax];
void roy_floyd(){
for(int k = 1; k <= n; ++k)
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
a[i][j] = minim(a[i][j], a[i][k] + a[k][j]);
}
int main()
{
//Citirea fisierului
fin >> n;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
fin >> a[i][j];
roy_floyd();
//Afisarea matricei dupa aplicarea algoritmului
for(int i = 1; i <= n; ++i){
for(int j = 1; j <= n; ++j)
fout << a[i][j] << " ";
fout << "\n";
}
fin.close();
fout.close();
return 0;
}