Pagini recente » Cod sursa (job #143752) | Cod sursa (job #2454841) | Cod sursa (job #1636968) | Cod sursa (job #2480447) | Cod sursa (job #2218663)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int dist[105][105];
int n;
int main()
{
fin>>n;
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
fin>>dist[i][j];
for ( int k = 1; k <= n; ++k )
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
if ( dist[i][k] && dist[k][j] && i != j )
if ( dist[i][j] )
dist[i][j] = min(dist[i][j], dist[i][k]+dist[k][j]);
else
dist[i][j] = dist[i][k]+dist[k][j];
for ( int i = 1; i <= n; ++i )
{
for ( int j = 1; j <= n; ++j )
fout<<dist[i][j]<<" ";
fout<<'\n';
}
}