Cod sursa(job #1171533)

Utilizator costyrazvyTudor Costin Razvan costyrazvy Data 15 aprilie 2014 21:33:12
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#define FOR(i,x) for (i=1;i<=x;i++)
using namespace std;
int Cost[101][101],i,j,k,N;
int main()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    f>>N;
    FOR(i,N) FOR(j,N) f>>Cost[i][j];
    FOR(k,N) FOR(i,N) FOR(j,N)
    if (Cost[i][k]+Cost[k][j]<=Cost[i][j])
       Cost[i][j]=Cost[i][k]+Cost[k][j];
    FOR(i,N) {FOR(j,N) if (i!=j)g<<Cost[i][j]<<" ";else g<<"0 ";g<<'\n';}
    f.close();
    g.close();
    return 0;
}