Cod sursa(job #1428595)

Utilizator DenisacheDenis Ehorovici Denisache Data 4 mai 2015 19:50:20
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
//#include <conio.h>
#define pb push_back
#define mp make_pair
#define MOD 1000000007
#define newl printf("\n")
using namespace std;
int n,mat[105][105];
int main()
{
    freopen("royfloyd.in","r",stdin);
    freopen("royfloyd.out","w",stdout);
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            scanf("%d",&mat[i][j]);
    for (int k=1;k<=n;k++)
        for (int i=1;i<=n;i++)
            for (int j=1;j<=n;j++)
                if (mat[i][k] && mat[k][j] && i!=j && mat[i][k]+mat[k][j]<mat[i][j])
                    mat[i][j]=mat[i][k]+mat[k][j];
    for (int i=1;i<=n;i++,newl)
        for (int j=1;j<=n;j++)
            printf("%d ",mat[i][j]);
    return 0;
}