Pagini recente » Cod sursa (job #2604984) | Cod sursa (job #1805850) | oji_2020_official_1 | Cod sursa (job #2692967) | Cod sursa (job #2570628)
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n,i,j,k,mat[101][101];
void Pink_Floyd()
{
for(k = 1; k <= n; ++ k)
for(i = 1; i <= n; ++ i)
for(j = 1; j <= n; ++ j)
if(i != j && && mat[i][k] != INF && mat[k][k] != INF && mat[i][k] + mat[k][j] < mat[i][j])
mat[i][j] = mat[i][k] + mat[k][j];
}
int main()
{
f >> n;
for(i = 1; i <= n; ++ i)
for(j = 1; j <= n; ++ j)
{
f >> mat[i][j];
if(!mat[i][j])
mat[i][j] = INF;
}
Pink_Floyd();
for(i = 1; i <= n; ++ i, g << '\n')
for(j = 1; j <= n; ++ j, g << ' ')
if(mat[i][j] != INF)
g << mat[i][j];
else
g << 0;
}