Pagini recente » Istoria paginii runda/captainbobulous/clasament | Cod sursa (job #2432565) | Cod sursa (job #2836492) | Istoria paginii runda/simulare_oji_2023_clasa_9_15_martie | Cod sursa (job #2207544)
#include <bits/stdc++.h>
#define ll long long
#define MOD 666013
#define NMAX 257
using namespace std;
int N, M[NMAX][NMAX], dp[NMAX][NMAX];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
cin >> N;
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++){
cin >> M[i][j];
if (!M[i][j]) M[i][j] = 2e9;
}
//roy-floyd
for(int k = 1; k <= N; k++)
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++){
if (i == j) continue;
if(M[i][j] > M[i][k] + M[k][j])
M[i][j] = M[i][k] + M[k][j];
}
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++)
cout << (M[i][j] == 2e9 ? 0 : M[i][j]) <<" ";
cout << "\n";
}
return 0;
}