Cod sursa(job #1558028)

Utilizator Harsan_SabinHarsan Sabin Harsan_Sabin Data 28 decembrie 2015 16:51:17
Problema Floyd-Warshall/Roy-Floyd Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#define MAX 10000
using namespace std;

ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");

int n,k,i,j,Gf[20][20],Ax[20][20];

int main()
{
    cin>>n;

    for(i=1;i<=n;++i)
        for(j=1;j<=n;++j)
        {
            cin>>Gf[i][j];
            if(Gf[i][j]==0)
                Gf[i][j]=MAX;
        }

    for(k=1;k<=n;++k)
        for(i=1;i<=n;++i)
            for(j=1;j<=n;++j)
                //if(Gf[i][j]==0&&i!=k&&j!=k&&i!=j)
                    Gf[i][j]=min(Gf[i][j],Gf[i][k]+Gf[k][j]);

    for(i=1;i<=n;++i,cout<<'\n')
        for(j=1;j<=n;++j)
            if(Gf[i][j]==MAX||i==j)
                cout<<"0 ";
            else
                cout<<Gf[i][j]<<' ';

    return 0;
}