// output of ./demo/comb/catalan-rgs-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. //% Lexicographic order. //% See OEIS sequences A000108 (Catalan numbers) and A239903 (Catalan RGS). arg 1: 5 == n [Number of paren pairs] default=5 arg 2: 1 == rq [whether to show RGS for reversed string] 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 . ] 3 ()()(())() 1.1.11..1. [ . . 1 . . ] 1.11..1.1. 4: [ . . . 1 1 ] 4 ()()(()()) 1.1.11.1.. [ . 1 1 . . ] 11.1..1.1. 5: [ . . . 1 2 ] 4 ()()((())) 1.1.111... [ . 1 2 . . ] 111...1.1. 6: [ . . 1 . . ] 2 ()(())()() 1.11..1.1. [ . . . 1 . ] 1.1.11..1. 7: [ . . 1 . 1 ] 4 ()(())(()) 1.11..11.. [ . 1 . 1 . ] 11..11..1. 8: [ . . 1 1 . ] 3 ()(()())() 1.11.1..1. [ . . 1 1 . ] 1.11.1..1. 9: [ . . 1 1 1 ] 4 ()(()()()) 1.11.1.1.. [ . 1 1 1 . ] 11.1.1..1. 10: [ . . 1 1 2 ] 4 ()(()(())) 1.11.11... [ . 1 2 1 . ] 111..1..1. 11: [ . . 1 2 . ] 3 ()((()))() 1.111...1. [ . . 1 2 . ] 1.111...1. 12: [ . . 1 2 1 ] 4 ()((())()) 1.111..1.. [ . 1 1 2 . ] 11.11...1. 13: [ . . 1 2 2 ] 4 ()((()())) 1.111.1... [ . 1 2 2 . ] 111.1...1. 14: [ . . 1 2 3 ] 4 ()(((()))) 1.1111.... [ . 1 2 3 . ] 1111....1. 15: [ . 1 . . . ] 1 (())()()() 11..1.1.1. [ . . . . 1 ] 1.1.1.11.. 16: [ . 1 . . 1 ] 4 (())()(()) 11..1.11.. [ . 1 . . 1 ] 11..1.11.. 17: [ . 1 . 1 . ] 3 (())(())() 11..11..1. [ . . 1 . 1 ] 1.11..11.. 18: [ . 1 . 1 1 ] 4 (())(()()) 11..11.1.. [ . 1 1 . 1 ] 11.1..11.. 19: [ . 1 . 1 2 ] 4 (())((())) 11..111... [ . 1 2 . 1 ] 111...11.. 20: [ . 1 1 . . ] 2 (()())()() 11.1..1.1. [ . . . 1 1 ] 1.1.11.1.. 21: [ . 1 1 . 1 ] 4 (()())(()) 11.1..11.. [ . 1 . 1 1 ] 11..11.1.. 22: [ . 1 1 1 . ] 3 (()()())() 11.1.1..1. [ . . 1 1 1 ] 1.11.1.1.. 23: [ . 1 1 1 1 ] 4 (()()()()) 11.1.1.1.. [ . 1 1 1 1 ] 11.1.1.1.. 24: [ . 1 1 1 2 ] 4 (()()(())) 11.1.11... [ . 1 2 1 1 ] 111..1.1.. 25: [ . 1 1 2 . ] 3 (()(()))() 11.11...1. [ . . 1 2 1 ] 1.111..1.. 26: [ . 1 1 2 1 ] 4 (()(())()) 11.11..1.. [ . 1 1 2 1 ] 11.11..1.. 27: [ . 1 1 2 2 ] 4 (()(()())) 11.11.1... [ . 1 2 2 1 ] 111.1..1.. 28: [ . 1 1 2 3 ] 4 (()((()))) 11.111.... [ . 1 2 3 1 ] 1111...1.. 29: [ . 1 2 . . ] 2 ((()))()() 111...1.1. [ . . . 1 2 ] 1.1.111... 30: [ . 1 2 . 1 ] 4 ((()))(()) 111...11.. [ . 1 . 1 2 ] 11..111... 31: [ . 1 2 1 . ] 3 ((())())() 111..1..1. [ . . 1 1 2 ] 1.11.11... 32: [ . 1 2 1 1 ] 4 ((())()()) 111..1.1.. [ . 1 1 1 2 ] 11.1.11... 33: [ . 1 2 1 2 ] 4 ((())(())) 111..11... [ . 1 2 1 2 ] 111..11... 34: [ . 1 2 2 . ] 3 ((()()))() 111.1...1. [ . . 1 2 2 ] 1.111.1... 35: [ . 1 2 2 1 ] 4 ((()())()) 111.1..1.. [ . 1 1 2 2 ] 11.11.1... 36: [ . 1 2 2 2 ] 4 ((()()())) 111.1.1... [ . 1 2 2 2 ] 111.1.1... 37: [ . 1 2 2 3 ] 4 ((()(()))) 111.11.... [ . 1 2 3 2 ] 1111..1... 38: [ . 1 2 3 . ] 3 (((())))() 1111....1. [ . . 1 2 3 ] 1.1111.... 39: [ . 1 2 3 1 ] 4 (((()))()) 1111...1.. [ . 1 1 2 3 ] 11.111.... 40: [ . 1 2 3 2 ] 4 (((())())) 1111..1... [ . 1 2 2 3 ] 111.11.... 41: [ . 1 2 3 3 ] 4 (((()()))) 1111.1.... [ . 1 2 3 3 ] 1111.1.... 42: [ . 1 2 3 4 ] 4 ((((())))) 11111..... [ . 1 2 3 4 ] 11111..... ct=42