Cod sursa(job #487374)

Utilizator APOCALYPTODragos APOCALYPTO Data 24 septembrie 2010 22:34:01
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
using namespace std;

#include<iostream>
#include<fstream>
#include<cstring>
#define sfor(alfa,beta) for(int alfa=1;alfa<=beta;++alfa)
#define nm 105
#define oo 0x3f3f3f3f
ofstream fout("royfloyd.out");
int a[nm][nm],dp[nm][nm],N,M;

void afis()
{

    sfor(i,N)
     {sfor(j,N)
         fout<<dp[i][j]<<" ";

      fout<<"\n";
     }

}

void solve()
{   memset(dp,oo,sizeof(dp));
    sfor(k,N)
     sfor(i,N)
      sfor(j,N)
      if(dp[i][k]+dp[k][j]<dp[i][j])
      {
          dp[i][j]=dp[i][k]+dp[k][j];

      }

}

void cit()
{
    ifstream fin("royfloyd.in");
    fin>>N;
    sfor(i,N)
      sfor(j,N)
      {
          fin>>a[i][j];
      }

    fin.close();


}
int main()
{

    cit();

    solve();

    afis();

    fout.close();

    return 0;

}