Cod sursa(job #2433186)
| Utilizator | Data | 26 iunie 2019 11:15:37 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
#define inf -1
using namespace std;
int n, m, i, j, k, c[105][105];
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
cin>>c[i][j];
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j&&c[i][k]*c[k][j]!=0&&(!c[i][j]||c[i][j]>c[i][k]+c[k][j]))
c[i][j]=c[i][k]+c[k][j];
for(i=1;i<=n;i++,cout<<'\n')
for(j=1;j<=n;j++)
cout<<c[i][j]<<' ';
return 0;
}
