Cod sursa(job #2801362)

Utilizator AndreidreiGresoiu Liviu-Andrei Andreidrei Data 16 noiembrie 2021 09:10:51
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
#define forq(i,ii,n)for(i=ii;i<n;i++)
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
long long n,a[100][100],i,j,k;
int main()
{
in>>n;
for(i=0;i<n;i++)
    for(j=0;j<n;j++)
{
    in>>a[i][j];
    if(a[i][j]==0&&i!=j)a[i][j]=LLONG_MAX/4;
}
//for(i=0;i<n;i++){for(j=0;j<n;j++)cout<<a[i][j]<<' ';cout<<'\n';}cout<<'\n'<<n<<'\n';
for(k=0;k<n;k++)
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            {if(a[i][j]>a[i][k]+a[k][j])a[i][j]=a[i][k]+a[k][j];}
//cout<<"finfi";
for(i=0;i<n;i++)
    {for(j=0;j<n;j++)out<<a[i][j]<<' ';out<<'\n';}
}