Pagini recente » Cod sursa (job #1625151) | Cod sursa (job #2307056) | Cod sursa (job #2261264) | Cod sursa (job #1953963) | Cod sursa (job #2693131)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int m[101][101], n, dp[101][101], urm[101][101];
int main()
{
f>>n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
f>>m[i][j];
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
{
dp[i][j] = m[i][j];
if(m[i][j] != 0)
urm[i][j] = j;
}
for(int k=0; k<n; k++)
for(int i=0; i<n; i ++)
for(int j=0; j<n; j++)
if(dp[i][k] + dp[k][j] < dp[i][j])
{
dp[i][j] = dp[i][k] + dp[k][j];
urm[i][j] = urm[i][k];
}
for(int i=0; i<n; i ++)
{
for(int j=0; j<n; j++)
g<<dp[i][j]<<" ";
g<<endl;
}
return 0;
}