Cod sursa(job #1443880)

Utilizator BogdanisarBurcea Bogdan Madalin Bogdanisar Data 28 mai 2015 20:58:49
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<iostream>
#include<fstream>
#include<cmath>
#include<algorithm>
#include<vector>
#include<bitset>
#include<cstring>
#include<queue>

#define ull unsigned long long
#define ll long long
#define FOR(a,b,c) for (int a=b;a<=c; ++a)
#define ROF(a,b,c) for (int a=b;a>=c; --a)

using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
short N,M,a[101][101];

int main()
{
    f>>N;
    FOR (i,1,N)
        FOR (j,1,N)
            f>>a[i][j];
    FOR (k,1,N)
        FOR (i,1,N)
            FOR (j,1,N)
                if (i!=j && a[i][k] && a[k][j] && (a[i][j]>a[i][k]+a[k][j] || a[i][j]==0)) a[i][j]=a[i][k]+a[k][j];
    FOR (i,1,N){
        FOR (j,1,N)
            g<<a[i][j]<<' ';
        g<<'\n';
    }
    return 0;
}