Cod sursa(job #1884474)

Utilizator dragosmdvMoldovan Dragos dragosmdv Data 18 februarie 2017 20:02:56
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int dist[101][101],i, j, k, n;


int main()
{

    fin>>n;
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
      {

       fin>>dist[i][j];

      if(i!=j and dist[i][j]==0)
        dist[i][j]=999999999;
      }


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

   }

    for(i=1;i<=n;i++)
    {

        for(j=1;j<=n;j++)
            fout<<dist[i][j]<<" ";
        fout<<'\n';


    }
    return 0;
}