Cod sursa(job #2211049)

Utilizator IuliaBarbuBarbu Iulia Andreea IuliaBarbu Data 9 iunie 2018 11:53:55
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>
using namespace std;
int main ()
{
    ifstream f("royfloyd.in");
    ofstream g("royfloyd.out");
    int x,y,k,n,i,j,a[101][101],m[101][101];
    f>>n;
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
        {
            f>>a[i][j];
            if(a[i][j]!=0)
                m[i][j]=a[i][j];
            else
                m[i][j]=1001;
        }
    for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if(i!=j&&i!=k&&j!=k&&m[i][j]>m[i][k]+m[k][j])
                    m[i][j]=m[i][k]+m[k][j];
     for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            if(m[i][j]==1001)
                g<<0<<" ";
            else
                g<<m[i][j]<<" ";
        g<<endl;
    }
    return 0;
}