Pagini recente » Cod sursa (job #1447671) | Cod sursa (job #2332762) | Cod sursa (job #3154681) | Cod sursa (job #2691565)
#include <fstream>
using namespace std;
#define inf 10005
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int rez[1005][1005], mat[1005][1005];
int main()
{
int n, m, i, j, k, cost;
fin>>n;
for(i=0; i<n; i++)
for(j=0; j<n; j++){
fin>>cost;
if(i!=j && cost == 0){
mat[i][j] = inf;
}
else{
mat[i][j] = cost;
}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
rez[i][j] = mat[i][j];
}
}
for(i=0; i<n; i++)
for(j=0; j<n; j++)
for(k=0; k<n; k++){
if(rez[j][k] > rez[j][i] + rez[i][k]){
rez[j][k] = rez[j][i] + rez[i][k];
}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++)
if(rez[i][j] > 1000){
fout<<0<<" ";
}
else{
fout<<rez[i][j]<<" ";
}
fout<<endl;
}
return 0;
}