// output of ./demo/comb/catalan-demo.cc: // Description: //% Catalan restricted growth strings (RGS) and parentheses strings in minimal-change order. arg 1: 5 == n [Number of paren pairs] default=5 arg 2: 1 == xdr [Change direction in recursion ==> minimal-change order] default=1 arg 3: -1 == dr0 [Starting direction in recursion (+-1)] default=-1 1: [ 0 1 2 3 4 ] [ - - - - - ] ((((())))) 11111..... 2: [ 0 1 2 3 3 ] [ - - - - - ] (((()()))) 1111.1.... ((((XA)))) 3: [ 0 1 2 3 2 ] [ - - - - - ] (((())())) 1111..1... (((()XA))) 4: [ 0 1 2 3 1 ] [ - - - - - ] (((()))()) 1111...1.. (((())XA)) 5: [ 0 1 2 3 0 ] [ - - - - - ] (((())))() 1111....1. (((()))XA) 6: [ 0 1 2 2 0 ] [ - - - - + ] ((()()))() 111.1...1. (((XA)))() 7: [ 0 1 2 2 1 ] [ - - - - + ] ((()())()) 111.1..1.. ((()())AX) 8: [ 0 1 2 2 2 ] [ - - - - + ] ((()()())) 111.1.1... ((()()AX)) 9: [ 0 1 2 2 3 ] [ - - - - + ] ((()(()))) 111.11.... ((()(AX))) 10: [ 0 1 2 1 2 ] [ - - - - - ] ((())(())) 111..11... ((()X(A))) 2 11: [ 0 1 2 1 1 ] [ - - - - - ] ((())()()) 111..1.1.. ((())(XA)) 12: [ 0 1 2 1 0 ] [ - - - - - ] ((())())() 111..1..1. ((())()XA) 13: [ 0 1 2 0 0 ] [ - - - - + ] ((()))()() 111...1.1. ((())XA)() 14: [ 0 1 2 0 1 ] [ - - - - + ] ((()))(()) 111...11.. ((()))(AX) 15: [ 0 1 1 0 1 ] [ - - - + - ] (()())(()) 11.1..11.. ((XA))(()) 16: [ 0 1 1 0 0 ] [ - - - + - ] (()())()() 11.1..1.1. (()())(XA) 17: [ 0 1 1 1 0 ] [ - - - + + ] (()()())() 11.1.1..1. (()()AX)() 18: [ 0 1 1 1 1 ] [ - - - + + ] (()()()()) 11.1.1.1.. (()()()AX) 19: [ 0 1 1 1 2 ] [ - - - + + ] (()()(())) 11.1.11... (()()(AX)) 20: [ 0 1 1 2 3 ] [ - - - + - ] (()((()))) 11.111.... (()(A(X))) 2 21: [ 0 1 1 2 2 ] [ - - - + - ] (()(()())) 11.11.1... (()((XA))) 22: [ 0 1 1 2 1 ] [ - - - + - ] (()(())()) 11.11..1.. (()(()XA)) 23: [ 0 1 1 2 0 ] [ - - - + - ] (()(()))() 11.11...1. (()(())XA) 24: [ 0 1 0 1 0 ] [ - - - - + ] (())(())() 11..11..1. (()X(A))() 2 25: [ 0 1 0 1 1 ] [ - - - - + ] (())(()()) 11..11.1.. (())(()AX) 26: [ 0 1 0 1 2 ] [ - - - - + ] (())((())) 11..111... (())((AX)) 27: [ 0 1 0 0 1 ] [ - - - - - ] (())()(()) 11..1.11.. (())(X(A)) 2 28: [ 0 1 0 0 0 ] [ - - - - - ] (())()()() 11..1.1.1. (())()(XA) 29: [ 0 0 0 0 0 ] [ - - + + + ] ()()()()() 1.1.1.1.1. (XA)()()() 30: [ 0 0 0 0 1 ] [ - - + + + ] ()()()(()) 1.1.1.11.. ()()()(AX) 31: [ 0 0 0 1 2 ] [ - - + + - ] ()()((())) 1.1.111... ()()(A(X)) 2 32: [ 0 0 0 1 1 ] [ - - + + - ] ()()(()()) 1.1.11.1.. ()()((XA)) 33: [ 0 0 0 1 0 ] [ - - + + - ] ()()(())() 1.1.11..1. ()()(()XA) 34: [ 0 0 1 2 0 ] [ - - + - + ] ()((()))() 1.111...1. ()(A(X))() 2 35: [ 0 0 1 2 1 ] [ - - + - + ] ()((())()) 1.111..1.. ()((())AX) 36: [ 0 0 1 2 2 ] [ - - + - + ] ()((()())) 1.111.1... ()((()AX)) 37: [ 0 0 1 2 3 ] [ - - + - + ] ()(((()))) 1.1111.... ()(((AX))) 38: [ 0 0 1 1 2 ] [ - - + - - ] ()(()(())) 1.11.11... ()((X(A))) 2 39: [ 0 0 1 1 1 ] [ - - + - - ] ()(()()()) 1.11.1.1.. ()(()(XA)) 40: [ 0 0 1 1 0 ] [ - - + - - ] ()(()())() 1.11.1..1. ()(()()XA) 41: [ 0 0 1 0 0 ] [ - - + - + ] ()(())()() 1.11..1.1. ()(()XA)() 42: [ 0 0 1 0 1 ] [ - - + - + ] ()(())(()) 1.11..11.. ()(())(AX) ct=42