Cod sursa(job #1299016)

Utilizator jordasIordache Andrei Alexandru jordas Data 23 decembrie 2014 13:50:39
Problema Floyd-Warshall/Roy-Floyd Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <cmath>
#define mult 1000000

using namespace std;

 ifstream x ("royfloyd.in");
 ofstream y ("royfloyd.out");

 int n;
 int m[1001][1001];
 //int d[1001][1001];

int main()
{
    int i,j,k;

    x>>n;

    for(i=1;i<=n;i++)
       for(j=1;j<=n;j++)
       {
           x>>m[i][j];

           if(m[i][j]==0 && i!=j)
              m[i][j]=mult;
       }

    for(k=1;k<=n;k++)
    {/*
        for(i=1;i<=n;i++)
           d[i][k]=m[i][k];

        for(j=1;j<=n;j++)
           d[k][j]=m[k][j];*/

        for(i=1;i<=n;i++)
           for(j=1;j<=n;j++)
              if(i!=j)
                 m[i][j]=min(m[i][j],m[i][k]+m[k][j]);
/*
        for(i=1;i<=n;i++)
           for(j=1;j<=n;j++)
              m[i][j]=d[i][j];*/
    }

    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
           y<<m[i][j]<<' ';
        y<<'\n';
    }

    return 0;
}