Pagini recente » Cod sursa (job #1153161) | Cod sursa (job #417484) | Monitorul de evaluare | Cod sursa (job #2805872) | Cod sursa (job #2342983)
#include <iostream>
#include <fstream>
using namespace std;
int N, A[105][105];
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
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++){
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++){
if(A[i][k] && A[i][k] && (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;
}