Pagini recente » Cod sursa (job #1585556) | Cod sursa (job #2687566) | Cod sursa (job #1911964) | Cod sursa (job #2008354) | Cod sursa (job #3197364)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <stack>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
const int LMAX = 105;
const int INF = 0x3F3F3F3F;
int dp[LMAX][LMAX];
int main() {
int n, i, j, k;
fin>>n;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
fin>>dp[i][j];
if (dp[i][j] == 0 && i!=j) dp[i][j] = INF;
}
}
for (k = 0; k < n; k++) {
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);
}
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (dp[i][j] == INF) fout<<0<<" ";
else fout<<dp[i][j]<<" ";
}
fout<<endl;
}
fin.close();
fout.close();
return 0;
}