Cod sursa(job #1045282)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 1 decembrie 2013 12:04:01
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 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(i!=j && v[i][k]!=0 && v[j][k]!=0 && (v[i][j]==0 || v[i][j]>v[i][k]+v[k][j]) )
                    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;
}