Pagini recente » Cod sursa (job #1147789) | Cod sursa (job #1818313) | Cod sursa (job #344268) | Clasament preONI 2006, Clasele XI-XII | Cod sursa (job #669041)
Cod sursa(job #669041)
#include<fstream>
using namespace std;
int a[105][105],n;
void readdata(){
ifstream fin("royfloyd.in");
fin>>n;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
fin>>a[i][j];
fin.close();
}
void royfloyd(){
int i,j,k;
for(k=1;k<=n;++k)
for(i=1;i<=n;++i)
for(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];
}
void writedata(){
ofstream fout("royfloyd.out");
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j)
fout<<a[i][j]<<' '; fout<<'\n'; }
fout.close();
}
int main(void){
ofstream fout("royfloyd.out");
readdata();
royfloyd();
writedata();
return 0;
}