Pagini recente » Diferente pentru utilizator/ando intre reviziile 4 si 7 | Cod sursa (job #1550210) | Cod sursa (job #2786824) | Diferente pentru utilizator/eueric intre reviziile 8 si 9 | Cod sursa (job #1712120)
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const int NMAX=103;
int dp[NMAX][NMAX];
int main()
{
int n;
f>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
f>>dp[i][j];
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(dp[i][k] && dp[k][j] && (dp[i][k]+dp[k][j]<dp[i][j] || dp[i][j]==0 && i!=j))
dp[i][j]=dp[i][k]+dp[k][j];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
g<<dp[i][j]<<" ";
g<<"\n";
}
return 0;
}