Cod sursa(job #1281239)

Utilizator teo2mirceFMI Popescu Mircea teo2mirce Data 2 decembrie 2014 22:36:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
using namespace std;
int main()
{
    int n,v[101][101];
    freopen("royfloyd.in", "r", stdin);
    freopen("royfloyd.out", "w", stdout);
    scanf("%d",&n);
    for(int a=1;a<=n;a++)
    for(int b=1;b<=n;b++)
    {
        scanf("%d",&v[a][b]);
        if(v[a][b]==0 and a!=b)v[a][b]=1000;
    }
    for(int a=1;a<=n;a++)
    for(int b=1;b<=n;b++)
    for(int c=1;c<=n;c++)
    if(v[b][c]>v[b][a]+v[a][c] and v[a][c] and v[b][a] and b!=c)
    v[b][c]=v[b][a]+v[a][c];
    for(int a=1;a<=n;a++,printf("\n"))
    for(int b=1;b<=n;b++)
    printf("%d ",v[a][b]);
}