// output of ./demo/comb/catalan-rgs-gray-demo.cc: // Description: //% Catalan restricted growth strings (RGS): //% strings a[0,1,...,n-1] where a[0]=0 and a[k] <= a[k-1] + 1. //% Gray code for parenthesis strings (but not for the RGS). arg 1: 5 == n [Number of paren pairs] default=5 arg 2: 1 == dr0 [Whether to start with ()()()...(), else (((...)))] default=1 1: [ . . . . . ] 0 ()()()()() 1.1.1.1.1. [ . . . . . ] 1.1.1.1.1. 2: [ . . . . 1 ] 4 ()()()(()) 1.1.1.11.. [ . 1 . . . ] 11..1.1.1. 3: [ . . . 1 2 ] 3 ()()((())) 1.1.111... [ . 1 2 . . ] 111...1.1. 4: [ . . . 1 1 ] 4 ()()(()()) 1.1.11.1.. [ . 1 1 . . ] 11.1..1.1. 5: [ . . . 1 . ] 4 ()()(())() 1.1.11..1. [ . . 1 . . ] 1.11..1.1. 6: [ . . 1 2 . ] 2 ()((()))() 1.111...1. [ . . 1 2 . ] 1.111...1. 7: [ . . 1 2 1 ] 4 ()((())()) 1.111..1.. [ . 1 1 2 . ] 11.11...1. 8: [ . . 1 2 2 ] 4 ()((()())) 1.111.1... [ . 1 2 2 . ] 111.1...1. 9: [ . . 1 2 3 ] 4 ()(((()))) 1.1111.... [ . 1 2 3 . ] 1111....1. 10: [ . . 1 1 2 ] 3 ()(()(())) 1.11.11... [ . 1 2 1 . ] 111..1..1. 11: [ . . 1 1 1 ] 4 ()(()()()) 1.11.1.1.. [ . 1 1 1 . ] 11.1.1..1. 12: [ . . 1 1 . ] 4 ()(()())() 1.11.1..1. [ . . 1 1 . ] 1.11.1..1. 13: [ . . 1 . . ] 3 ()(())()() 1.11..1.1. [ . . . 1 . ] 1.1.11..1. 14: [ . . 1 . 1 ] 4 ()(())(()) 1.11..11.. [ . 1 . 1 . ] 11..11..1. 15: [ . 1 2 . 1 ] 1 ((()))(()) 111...11.. [ . 1 . 1 2 ] 11..111... 16: [ . 1 2 . . ] 4 ((()))()() 111...1.1. [ . . . 1 2 ] 1.1.111... 17: [ . 1 2 1 . ] 3 ((())())() 111..1..1. [ . . 1 1 2 ] 1.11.11... 18: [ . 1 2 1 1 ] 4 ((())()()) 111..1.1.. [ . 1 1 1 2 ] 11.1.11... 19: [ . 1 2 1 2 ] 4 ((())(())) 111..11... [ . 1 2 1 2 ] 111..11... 20: [ . 1 2 2 3 ] 3 ((()(()))) 111.11.... [ . 1 2 3 2 ] 1111..1... 21: [ . 1 2 2 2 ] 4 ((()()())) 111.1.1... [ . 1 2 2 2 ] 111.1.1... 22: [ . 1 2 2 1 ] 4 ((()())()) 111.1..1.. [ . 1 1 2 2 ] 11.11.1... 23: [ . 1 2 2 . ] 4 ((()()))() 111.1...1. [ . . 1 2 2 ] 1.111.1... 24: [ . 1 2 3 . ] 3 (((())))() 1111....1. [ . . 1 2 3 ] 1.1111.... 25: [ . 1 2 3 1 ] 4 (((()))()) 1111...1.. [ . 1 1 2 3 ] 11.111.... 26: [ . 1 2 3 2 ] 4 (((())())) 1111..1... [ . 1 2 2 3 ] 111.11.... 27: [ . 1 2 3 3 ] 4 (((()()))) 1111.1.... [ . 1 2 3 3 ] 1111.1.... 28: [ . 1 2 3 4 ] 4 ((((())))) 11111..... [ . 1 2 3 4 ] 11111..... 29: [ . 1 1 2 3 ] 2 (()((()))) 11.111.... [ . 1 2 3 1 ] 1111...1.. 30: [ . 1 1 2 2 ] 4 (()(()())) 11.11.1... [ . 1 2 2 1 ] 111.1..1.. 31: [ . 1 1 2 1 ] 4 (()(())()) 11.11..1.. [ . 1 1 2 1 ] 11.11..1.. 32: [ . 1 1 2 . ] 4 (()(()))() 11.11...1. [ . . 1 2 1 ] 1.111..1.. 33: [ . 1 1 1 . ] 3 (()()())() 11.1.1..1. [ . . 1 1 1 ] 1.11.1.1.. 34: [ . 1 1 1 1 ] 4 (()()()()) 11.1.1.1.. [ . 1 1 1 1 ] 11.1.1.1.. 35: [ . 1 1 1 2 ] 4 (()()(())) 11.1.11... [ . 1 2 1 1 ] 111..1.1.. 36: [ . 1 1 . 1 ] 3 (()())(()) 11.1..11.. [ . 1 . 1 1 ] 11..11.1.. 37: [ . 1 1 . . ] 4 (()())()() 11.1..1.1. [ . . . 1 1 ] 1.1.11.1.. 38: [ . 1 . . . ] 2 (())()()() 11..1.1.1. [ . . . . 1 ] 1.1.1.11.. 39: [ . 1 . . 1 ] 4 (())()(()) 11..1.11.. [ . 1 . . 1 ] 11..1.11.. 40: [ . 1 . 1 2 ] 3 (())((())) 11..111... [ . 1 2 . 1 ] 111...11.. 41: [ . 1 . 1 1 ] 4 (())(()()) 11..11.1.. [ . 1 1 . 1 ] 11.1..11.. 42: [ . 1 . 1 . ] 4 (())(())() 11..11..1. [ . . 1 . 1 ] 1.11..11.. ct=42