Cod sursa(job #1171115)

Utilizator vlad.florescu94FMI Florescu Vlad - Adrian vlad.florescu94 Data 15 aprilie 2014 10:26:53
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

short i,j,k,n,x,a[101][101];

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

    for(k=0;k<n;k++)
      for(i=0;i<n;i++)
        for(j=0;j<n;j++)
          if(a[i][j]!=0)
            {
              if(a[i][j]>a[i][k]+a[k][j]&&a[i][k]!=0&&a[k][j]!=0)
                {/*g<<i<<','<<j<<','<<k<<" "<<a[i][j]<<" "<<a[i][k]<<" "<<a[j][k]<<'\n';*/ a[i][j]=a[i][k]+a[k][j];}
            }
          else
            if(i!=j)
              if(a[i][k]!=0&&a[k][j]!=0)
                {a[i][j]=a[i][k]+a[k][j];}

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

    f.close();g.close();
    return 0;
}