Pagini recente » Cod sursa (job #450886) | Cod sursa (job #1077980) | Cod sursa (job #433446) | Cod sursa (job #1652251) | Cod sursa (job #2333253)
#include <iostream>
#include <fstream>
using namespace std;
int A[100][100],N;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
void RoyFloyd(){
for(int k=1; k<N; k++){
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
if( A[i][k] &&
A[k][j] &&
i != j &&
(A[i][j] > A[i][k] + A[k][j] || !A[i][j]))
A[i][j] = A[i][k] + A[k][j];
}
}
}
}
void Afisare(){
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
fout<<A[i][j]<<" ";
}
fout<<"\n";
}
}
int main(int argc, char** argv) {
fin>>N;
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
fin>>A[i][j];
}
}
RoyFloyd();
Afisare();
fin.close();
fout.close();
return 0;
}