Pagini recente » Cod sursa (job #639363) | Cod sursa (job #2112615) | Cod sursa (job #1739512) | Cod sursa (job #645253) | Cod sursa (job #3192627)
#include <bits/stdc++.h>
#define NN 105
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int n, m, g[NN][NN];
int x, y, z;
int main()
{
fin >> n;
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <= n ; j++)
{
fin >> g[i][j];
}
}
for(int k = 1 ; k <= n ; k++)
{
for(int i = 1 ; i <= n ; i++)
{
if(g[i][k] == -1 || i == k)
continue;
for(int j = 1 ; j <= n ; j++)
{
if(g[k][j] == -1 || j == k || j == i)
continue;
if(g[i][j] == -1 || g[i][j] > g[i][k] + g[k][j])
{
g[i][j] = g[i][k] + g[k][j];
}
}
}
}
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <= n ; j++)
{
fout << g[i][j] << ' ';
}
fout << '\n';
}
return 0;
}