Cod sursa(job #1347845)

Utilizator western100Sutu Eusebiu western100 Data 19 februarie 2015 12:03:03
Problema Floyd-Warshall/Roy-Floyd Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <iostream>

using namespace std;

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



int main()
{
    int n,a[101][101],i,j,k;
    f>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            {
                f>>a[i][j];
                if(!a[i][j])
                    a[i][j]=1001;
            }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            for(k=1;k<=n;k++)
            {
                if(i!=j and i!=k and j!=k)
                    if(a[i][j]>a[i][k]+a[k][j])
                        a[i][j]=a[i][k]+a[k][j];
            }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            if(a[i][k]==1001 or i==j)
                g<<0<<' ';
            else
                g<<a[i][j]<<' ';
            g<<'\n';
    }
    return 0;
}