Pagini recente » Cod sursa (job #3283105) | Cod sursa (job #2919755) | Cod sursa (job #1659986) | Cod sursa (job #889442) | Cod sursa (job #2906925)
#include <fstream>
#define N 105
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] && (A[i][j] > A[i][k] + A[k][j] || (!A[i][j] && i != j) ) ){
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;
}