Pagini recente » Cod sursa (job #1925908) | Cod sursa (job #1112704) | Cod sursa (job #2245383) | Cod sursa (job #1904338) | Cod sursa (job #2366338)
#include <iostream>
#include <fstream>
#define L 105
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n, mat[L][L];
void read(){
in >> n;
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
in >> mat[i][j];
}
void floyd(){
for (int k=1;k<=n;++k)
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
if (i!=j && mat[i][k] && mat[k][j] && (mat[i][j]>mat[i][k]+mat[k][j] || !mat[i][j]))
mat[i][j]=mat[i][k]+mat[k][j];
}
int main()
{
read();
floyd();
for (int i=1;i<=n;++i){
for (int j=1;j<=n;++j)
out << mat[i][j] << " ";
out << "\n";
}
return 0;
}