Pagini recente » Borderou de evaluare (job #2518949) | Cod sursa (job #2518973)
#include <bits/stdc++.h>
#define Dim 101
#define oo 1e9+1
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int N,dp[Dim][Dim][2],A[Dim][Dim];
int main()
{
f>>N;
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
{
f>>dp[i][j][0];
if( dp[i][j][0] == 0 && i!=j ) dp[i][j][0]=oo;
}
for(int k=1;k<=N;k++)
for(int i=1;i<=N;i++)
for(int j=1;j<=N;j++)
dp[i][j][k%2]=min( dp[i][j][ ( k - 1 ) % 2 ],dp[i][k][ ( k - 1 ) % 2]+
dp[k][j][ ( k - 1 ) % 2] );
for(int i=1;i<=N;i++,g<<'\n')
for(int j=1;j<=N;j++) g<<dp[i][j][N%2]<<" ";
return 0;
}