Cod sursa(job #1088858)

Utilizator cremarencodianaCremarenco Diana cremarencodiana Data 20 ianuarie 2014 21:41:20
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <cstdio>
# include <cstring>
# include <vector>
using namespace std;

int n,i,j,k,m,x,y,nr=0,s,p,u,a[110][110],d[110][100];

int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d\n",&n);
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
        {
             scanf("%d ",&a[i][j]);
             if (i!=j && a[i][j]==0)
             {
                 a[i][j]=100000;
             }
        }
        scanf("\n");
    }
    for (k=1; k<=n; k++)
       for (i=1; i<=n; i++)
           for (j=1; j<=n; j++)
              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++)
            printf("%d ",a[i][j]);
        printf("\n");
    }
    return 0;
}