Cod sursa(job #1745546)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 22 august 2016 10:46:51
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

unsigned short int N;
unsigned short int matrix[101][101];

unsigned short int i, j, k;

int main ()
{
    ifstream fin ("royfloyd.in");
    fin >> N;
    for (i=1; i<=N; i++)
        for (j=1; j<=N; j++)
            fin >> matrix[i][j];
    fin.close();
    for (k=1; k<=N; k++)
        for (i=1; i<=N; i++)
            for (j=1; j<=N; j++)
                if (i!=j && matrix[i][k]!=0 && matrix[k][j]!=0 && (matrix[i][j]>matrix[i][k]+matrix[k][j] || matrix[i][j]==0))
                    matrix[i][j] = matrix[i][k] + matrix[k][j];
    ofstream fout ("royfloyd.out");
    for (i=1; i<=N; i++)
    {
        for (j=1; j<=N; j++)
            fout << matrix[i][j] << ' ';
        fout << '\n';
    }
    fout.close();
    return 0;
}