Mai intai trebuie sa te autentifici.
Cod sursa(job #3245527)
Utilizator | Data | 29 septembrie 2024 12:34:22 | |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
const int INF=1e9, MAXN=105;
int n, a[MAXN][MAXN];
int main()
{
fin>>n;
for (int i=1;i<=n;++i){
for (int j=1;j<=n;++j){
fin>>a[i][j];
if (a[i][j]==0 && i!=j)
a[i][j]=INF;
}
}
for (int k=1;k<=n;++k){
for (int i=1;i<=n;++i){
for (int j=1;j<=n;++j){
a[i][j]=min(a[i][j], a[i][k]+a[k][j]);
}
}
}
for (int i=1;i<=n;++i){
for (int j=1;j<=n;++j){
fout<<a[i][j]<<' ';
}
fout<<'\n';
}
return 0;
}