Pagini recente » Cod sursa (job #1029883) | Cod sursa (job #1746630) | Cod sursa (job #2412937) | Cod sursa (job #3180843) | Cod sursa (job #1424232)
//parantezare optima de matrici
#include <iostream>
#include <fstream>
#include <vector>
#define dim 109
#define INF 0x3F3F3F3F
using namespace std;
ofstream out("royfloyd.out");
int a[dim][dim];
int n;
int main()
{
ifstream in("royfloyd.in");
in >> n;
for( int i = 1 ; i<=n ; i++)
for( int j = 1; j<=n ; j++)
in >> a[i][j];
for( int k = 1 ; k<=n ; k++)
{
for( int i = 1 ;i<=n ; i++)
{
for( int j =1 ; j<=n ; j++)
if( a[i][j] && a[i][k] && a[k][j] && a[i][j] > a[i][k] + a[k][j] && i!=j )
a[i][j] = a[i][k] + a[k][j];
}
}
for(int i =1 ;i<=n ; i++)
{
for( int j = 1 ; j<=n ; j++)
out << a[i][j] << " ";
out << '\n';
}
return 0;
}