Cod sursa(job #215985)

Utilizator cristinapoppop cristina cristinapop Data 21 octombrie 2008 23:09:43
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
int N, M[105][105];
int min(int a1,int a2)
{
    if (a1<=a2) return a1;
    else return a2;
}
int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d \n", &N);
    for (int i=1 ; i<=N; ++i)
        for (int j=1 ; j<=N ; ++j)
            scanf("%d", & M[i][j]);
    for (int k=0; k< N; ++k)
        for (int i=1; i<=N; ++i)
            for (int j=1; j<=N; ++j)
                M[i][j]= min (M[i][j] ,((M[i][k]+M[k][j])));
    for (int i=1; i<=N ; ++i)
        {
        for (int j=1; j<=N; ++j)
            printf("%d", M[i][j]);
        printf("\n");
        }
}