Cod sursa(job #1648111)

Utilizator ErikHEErik Henning ErikHE Data 11 martie 2016 00:54:06
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

int cost[101][101], a[101][101], viz[101];
int n,m,j,i;
void RoyFloyd() {
int i,j,k;
for (k=1;k<=n;k++)
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            if ( cost[i][k]!=0 && cost[k][j]!=0 && i!=j && cost[i][k] + cost[k][j] < cost[i][j])
                cost[i][j] = cost[i][k] + cost[k][j];
}

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        for (j=1;j<=n;j++)
            f>>cost[i][j];
    RoyFloyd();
    for (i=1;i<=n;i++)  {
        for (j=1;j<=n;j++)
            g<<cost[i][j]<<"\t";
        g<<"\n";
    }

    return 0;
}