Pagini recente » Cod sursa (job #3149949) | Cod sursa (job #83019) | Cod sursa (job #320007) | Cod sursa (job #1598846) | Cod sursa (job #1424238)
//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][k] && a[k][j] && ( a[i][j] > a[i][k] + a[k][j] ) && ( i!=j ) &&(j!=k) )
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;
}