Pagini recente » Cod sursa (job #2023640) | Cod sursa (job #200396) | Cod sursa (job #777979) | Profil M@2Te4i | Cod sursa (job #1060064)
#include <cstdio>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int N,cost[105][105],DP[105][105];
void read()
{
scanf("%d",&N);
for(int i = 1;i <= N; ++i)
for(int j = 1;j <= N; ++j)
{
scanf("%d",&DP[i][j]);
if(DP[i][j] == 0)
DP[i][j] = INF;
}
}
void roy_floyd()
{
for(int k = 1; k <= N; ++k)
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j)
if(i != j && j != k)
DP[i][j] = min (DP[i][j],DP[i][k] + DP[k][j]);
}
void afish(int a[105][105])
{
for(int i = 1;i <= N; ++i)
{
for(int j = 1;j <= N; ++j)
DP[i][j] != INF ? printf("%d ",DP[i][j]) : printf("0 ");
printf("\n");
}
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
read();
roy_floyd();
afish(DP);
return 0;
}