Cod sursa(job #1988414)

Utilizator b10nd3Oana Mancu b10nd3 Data 2 iunie 2017 22:15:49
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>

using namespace std;

int main(){
ifstream in; ofstream out;
in.open("royfloyd.in"); out.open("royfloyd.out");
out.clear();

int n,i,j,k,inf=100001; 
in>>n;
int dist[n][n];
for(i=0;i<n;i++){
  for(j=0;j<n;j++){
     in>>dist[i][j];
     if(i==j) dist[i][j]=0;
     else if(dist[i][j]==0) dist[i][j]=inf;  
  }
} 


for(k=0;k<n;k++)
   for(i=0;i<n;i++)
     for(j=0;j<n;j++){
         if(dist[i][j]>dist[i][k]+dist[k][j])
           dist[i][j]=dist[i][k]+dist[k][j];
   }


for(i=0;i<n;i++){
   for(j=0;j<n;j++) out<<dist[i][j]<<" ";
   out<<endl;
}  


in.close(); out.close();
return 0;}