Pagini recente » Cod sursa (job #420425) | Cod sursa (job #391799) | Cod sursa (job #1700835) | Cod sursa (job #2158386) | Cod sursa (job #2906918)
#include <fstream>
#define N 100
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int A[N][N], n;
int main()
{
fin >> n;
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
fin >> A[i][j];
}
for(int k=1; k<=n; k++){//minimul folosind ca punct intermediar 1..k
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
if(A[i][k] && A[k][j] && i != j)
A[i][j] = min(A[i][j], A[i][k] + A[k][j]);
}
}
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
fout << A[i][j] << ' ';
fout << '\n';
}
return 0;
}