Cod sursa(job #1614148)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 25 februarie 2016 20:22:50
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#define DIM 105
#define INF 2000000000

using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int N;
int A[DIM][DIM];

int main(){

    fin >> N;

    for(int i=1;i<=N;i++)
        for(int j=1;j<=N;j++){
            fin >> A[i][j];
            if(i!=j && A[i][j]==0)
                A[i][j] = INF;
        }

    for(int k=1;k<=N;k++)
        for(int i=1;i<=N;i++)
            for(int j=1;j<=N;j++)
                if(i!=j && A[i][j] > A[i][k] + A[k][j])
                    A[i][j] = A[i][k] + A[k][j];

    for(int i=1;i<=N;i++){
        for(int j=1;j<=N;j++)
            fout << A[i][j] << " ";
        fout << "\n";
    }


    fin.close();fout.close();

    return 0;

}