Cod sursa(job #639298)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 23 noiembrie 2011 00:03:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#define MAX 99999

using namespace std;

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

int N,D[101][101];

int main()
{
    int i,j,k;
    in>>N;
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
        {
            in>>D[i][j];
            if(!D[i][j])D[i][j]=MAX;
        }
    for(i=0;i<N;i++)
        for(j=0;j<N;j++)
            if(i!=j)for(k=0;k<N;k++)
                if(i!=k&&j!=k&&D[j][k]>D[j][i]+D[i][k])
                    D[j][k]=D[j][i]+D[i][k];
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            if(D[i][j]!=MAX)
                out<<D[i][j]<<' ';
            else out<<0<<' ';
        out<<'\n';
    }
    return 0;
}