Cod sursa(job #1181374)

Utilizator TimeAttackTimer Roby TimeAttack Data 2 mai 2014 16:36:32
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
/*
    Keep It Simple!
*/

#include<fstream>
using namespace std;

#define MaxN 105
#define inf 1<<20

int N,Mat[MaxN][MaxN];

int main()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");

    f >> N;

    for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++)
        {
            f >> Mat[i][j];
            if(!Mat[i][j]) Mat[i][j] = inf;
        }

    for(int k=1;k<=N;k++)
        for(int i=1;i<=N;i++)
            for(int j=1;j<=N;j++)
                if(i!=j && Mat[i][j] > Mat[i][k] + Mat[k][j])
                    Mat[i][j] = Mat[i][k] + Mat[k][j];

    for(int i=1;i<=N;i++)
    {
        for(int j=1;j<=N;j++)
        {
           if(Mat[i][j] == inf) Mat[i][j] = 0;
            g << Mat[i][j] << ' ';
        }
        g << "\n";
    }
}