Cod sursa(job #899880)

Utilizator the@EyE@Postavaru Stefan the@EyE@ Data 28 februarie 2013 16:43:22
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<cstdio>

int graph[101][101],n,din[101][101];

int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d",&n);
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
        {
            scanf("%d",&graph[i][j]);
            din[i][j]=graph[i][j];
        }
     for(int k=0;k<n;++k)
        for(int i=0;i<n;++i)
            for(int j=0;j<n;++j)
                if(din[i][k]&&din[k][j]&&din[i][j]>din[i][k]+din[k][j])
                    din[i][j]=din[i][k]+din[k][j];

     for(int i=0;i<n;++i)
     {
        for(int j=0;j<n;++j)printf("%d ",din[i][j]);
        printf("\n");
     }
     return 0;
}