Beispiel #1
0
 void print_optimal_parens(int s[N][N], size_t i, size_t j) {
   if (i == j)
     std::cout << "A" << i;
   else {
     std::cout << "(";
     print_optimal_parens(s, i, s[i][j]);
     print_optimal_parens(s, s[i][j]+1, j);
     std::cout << ")";
   }
 }
Beispiel #2
0
/*
 * 
 * PRINT-OPTIMAL-PARENS(s, i, j)
 *  if (i=j)
 *    then print "A"i
 *    else print "("
 *         PRINT-OPTIMAL-PARENS(s, i, s[i,j])
 *         PRINT-OPTIMAL-PARENS(s, s[i,j]+1, j)
 *         print ")"
 */
void print_optimal_parens(int i, int j)
{
    if (i == j)
        printf("A%d",i);
    else {
        printf("(");
        print_optimal_parens(i, s[i][j]);
        print_optimal_parens(s[i][j]+1, j);
        printf(")");
    }
}
Beispiel #3
0
int main()
{
    matrix_chain_order();
    print_optimal_parens(1, NUM-1);
    printf("\n");
    return 0;
}