Pagini recente » Cod sursa (job #780873) | Cod sursa (job #1193) | Cod sursa (job #1474528) | Cod sursa (job #2064774) | Cod sursa (job #2572244)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int main() {
int n; fin >> n;
vector<vector<int>> dp(n + 1, vector<int>(n + 1));
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) {
fin >> dp[i][j];
if (!dp[i][j] && i != j)
dp[i][j] = 1e9;
}
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
fout << (dp[i][j] == 1e9 ? 0 : dp[i][j]) << ' ';
fout << '\n';
}
fout.close();
return 0;
}