Cod sursa(job #1467160)

Utilizator bpalaniciPalanici Bogdan bpalanici Data 2 august 2015 22:48:59
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

int drum[105][105];
int n, m;

int main()
{
    fin >> n;
    for (int i = 1; i <= n; i++)
        for (int i1 = 1; i1 <= n; i1++)
        fin >> drum[i][i1];

    for (int k = 1; k <= n; k++)
        for (int i = 1; i <= n; i++)
            for (int i1 = 1; i1 <= n; i1++)
            if (i != i1 && drum[i][k] > 0 && drum[k][i1] > 0)
            if (drum[i][i1] > drum[i][k] + drum[k][i1] || !drum[i][i1])
            drum[i][i1] = drum[i][k] + drum[k][i1];
    for (int i = 1; i <= n; i++)
       {for (int i1 = 1; i1 <= n; i1++)
        fout << drum[i][i1] << " "; fout << "\n";}


    return 0;
}