Cod sursa(job #1045272)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 1 decembrie 2013 11:55:05
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
const int INF=(1<<28);
int n, v[110][110], i, j, k;

inline int minim(int a, int b){
    return (a<b?a:b);
}

int main(){
    fin>>n;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            fin>>v[i][j];
    for(k=1; k<=n; k++)
        for(i=1; i<=n; i++)
            for(j=1; j<=n; j++)
                if(v[i][j]!=0 && v[k][j]!=0 && v[i][k]!=0)
                    v[i][j]=minim(v[i][j], v[i][k]+v[k][j]);
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
            fout<<v[i][j]<<' ';
        fout<<"\n";
    }
    return 0;
}