Pagini recente » Cod sursa (job #2600866) | Cod sursa (job #805629) | Cod sursa (job #1476041) | Cod sursa (job #1110187) | Cod sursa (job #1752932)
#include <cstdio>
using namespace std;
const int nmx = 102;
int n;
int dp[nmx][nmx];
void citire()
{
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
scanf("%d", &dp[i][j]);
}
void chestia()
{
for(int p = 1; p <= n; ++p)
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
if(i != j && dp[i][p] && dp[p][j] && (not dp[i][j] || dp[i][j] > dp[i][p] + dp[p][j]))
dp[i][j] = dp[i][p] + dp[p][j];
}
void arata_le()
{
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= n; ++j)
printf("%d ", dp[i][j]);
printf("\n");
}
}
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
citire();
chestia();
arata_le();
return 0;
}