Pagini recente » Cod sursa (job #1968848) | Cod sursa (job #1382344) | Cod sursa (job #2173820) | Cod sursa (job #377005) | Cod sursa (job #3292671)
#include <bits/stdc++.h>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int d[105][105],n;
const int inf=INT_MAX;
void init(int n)
{
for (int i=1; i<=n; i++ )
for (int j=1; j<=n; j++ )
d[i][j]=inf;
for (int i=1; i<=n; i++ )
d[i][i]=0;
}
void royf(int n)
{
for (int k=1; k<=n; k++ )
for (int i=1; i<=n; i++ )
for (int j=1; j<=n; j++ )
if ( d[i][k]!=inf && d[k][j]!=inf )
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
int main()
{
f >> n;
init(n);
for (int i=1; i<=n; i++ )
for (int j=1; j<=n; j++ )
f >> d[i][j];
royf(n);
for (int i=1; i<=n; i++, g << '\n' )
for (int j=1; j<=n; j++ )
if ( d[i][j]==inf ) g << 0 << " ";
else g << d[i][j] << " ";
return 0;
}