Cod sursa(job #733784)

Utilizator I.AlexandruIlie Alexandru I.Alexandru Data 12 aprilie 2012 23:37:03
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
#define maxn 101
using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n, p[maxn][maxn];

inline int min(int a, int b)
{return (a<b) ? (a):(b);
}

void royfloyd()
{for(int k=0; k<n; k++)
    for(int i=0; i<n; i++)
       for(int j=0; j<n; j++)
          p[i][j]=min(p[i][j], p[i][k]+p[k][j]);
}

int main()
{f>>n;
    
for(int i=0; i<n; i++)
   for(int j=0; j<n; j++) 
      f>>p[i][j];

royfloyd();

for(int i=0; i<n; i++) 
   {for(int j=0; j<n; j++) 
       g<<p[i][j]<<" ";
    g<<"\n";
   }

return 0;
}