Cod sursa(job #1124577)

Utilizator raazvvannheghedus razvan raazvvann Data 26 februarie 2014 12:47:30
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
// Roy Floyd
#include<iostream>
#include<fstream>

#define DMAX 105

using namespace std;

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

int M[DMAX][DMAX];
int n;

void RoyFloyd();

int main()
{
    f>>n;

    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            f>>M[i][j];
    RoyFloyd();
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            g<<M[i][j]<<" ";
        g<<"\n";
    }
    return 0;
}
void RoyFloyd()
{
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                if(M[i][j]>M[i][k]+M[k][j])
                    M[i][j]=M[i][k]+M[k][j];
}