Cod sursa(job #1542789)

Utilizator tudor199G Tudor tudor199 Data 5 decembrie 2015 17:33:04
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int i,j,k,n,v[100][100],gasit=1;

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            fin>>v[i][j];
    while(gasit)
    {
        gasit=0;
        for(i=1;i<=n;i++)
            for(j=i+1;j<=n;j++)
                for(k=1;k<=n;k++)
                {
                    if(v[i][k]+v[j][k]<v[i][j])
                    {
                        v[i][j]=v[i][k]+v[j][k];
                        gasit=1;
                    }
                }
    }
    for(i=1;i<=n;i++)
        for(j=1;j<i;j++)
            v[i][j]=v[j][i];
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            fout<<v[i][j]<<" ";
        fout<<"\n";
    }
    return 0;
}