Cod sursa(job #1217351)

Utilizator AeroHHorea Stefan AeroH Data 7 august 2014 04:57:08
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
// Made by AeroH
#define andreimdv original
#define AeroH plagiator

#include <fstream>
#include <vector>
#include <queue>
#define punct pair<int,int>
#define x first
#define y second
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int i,j,k,N,M,m[101][101];

int main()
{
    f>>N;

    for(i=1;i<=N;++i)
        for (j=1;j<=N;++j)
            {
                f>>m[i][j];
                if (!m[i][j]&i!=j)
                    m[i][j]=1<<30;
            }

    for (k=1;k<=N;++k)
        for (i=1;i<=N;++i)
            for(j=1;j<=N;++j)
                if (m[i][j]>m[i][k]+m[k][j])
                    m[i][j]=m[i][k]+m[k][j];

    for (i=1;i<=N;++i,g<<'\n')
        for(j=1;j<=N;++j)
            if (m[i][j]!=1<<30)
                g<<m[i][j]<<" ";
            else g<<"0 ";

    return 0;
}