Pagini recente » Clasament einigeswanker | Cod sursa (job #2010796) | Cod sursa (job #674956) | Cod sursa (job #1808176) | Cod sursa (job #2574491)
#include <bits/stdc++.h>
#define N_MAX 105
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N, cost[N_MAX][N_MAX];
int dist[N_MAX][N_MAX];
int main()
{
fin >> N;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
{
fin >> cost[i][j];
dist[i][j] = (cost[i][j] > 0 ? cost[i][j] : INT_MAX / 2);
}
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
for (int k = 1; k <= N; k++)
if (dist[j][k] > dist[j][i] + dist[i][k] && j != k)
dist[j][k] = dist[j][i] + dist[i][k];
for (int i = 1; i <= N; i++, fout << "\n")
for (int j = 1; j <= N; j++)
fout << (dist[i][j] == INT_MAX / 2 ? 0 : dist[i][j]) << " ";
return 0;
}