Cod sursa(job #2817684)
| Utilizator | Data | 14 decembrie 2021 00:09:56 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.72 kb |
#include<fstream>
using namespace std;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
int n,m,a[1005][1005],i,j,k;
int main()
{
cin>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
{
cin>>a[i][j];
if(a[i][j]==0) a[i][j]=1e4;
}
for(k=1; k<=n; k++)
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(a[i][k] and a[k][j] and i!=j and a[i][k]+a[k][j]<a[i][j])
a[i][j]=a[i][k]+a[k][j];
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
if(a[i][j]!=1e4)
cout<<a[i][j]<<' ';
else cout<<0<<' ';
}
cout<<'\n';
}
}
