// output of ./demo/comb/setpart-rgs-gray-demo.cc: // Description: //% Set partitions of the n-set as restricted growth strings (RGS): //% strings s[0, 1, ..., n-1] such that s[k] <= max(s[0], s[1], ..., s[k-1]) + 1. //% Minimal-change order for set partitions, //% note that the RGS can change in more than one position. arg 1: 5 == n [Partition set of n elements] default=5 arg 2: 1 == dr0 [Starting direction in recursion (+-1)] default=1 1: [ . . . . . ] {1, 2, 3, 4, 5} 2: [ . . . . 1 ] {1, 2, 3, 4}, {5} 3: [ . . . 1 2 ] {1, 2, 3}, {4}, {5} 4: [ . . . 1 1 ] {1, 2, 3}, {4, 5} 5: [ . . . 1 . ] {1, 2, 3, 5}, {4} 6: [ . . 1 2 . ] {1, 2, 5}, {3}, {4} 7: [ . . 1 2 1 ] {1, 2}, {3, 5}, {4} 8: [ . . 1 2 2 ] {1, 2}, {3}, {4, 5} 9: [ . . 1 2 3 ] {1, 2}, {3}, {4}, {5} 10: [ . . 1 1 2 ] {1, 2}, {3, 4}, {5} 11: [ . . 1 1 1 ] {1, 2}, {3, 4, 5} 12: [ . . 1 1 . ] {1, 2, 5}, {3, 4} 13: [ . . 1 . . ] {1, 2, 4, 5}, {3} 14: [ . . 1 . 1 ] {1, 2, 4}, {3, 5} 15: [ . . 1 . 2 ] {1, 2, 4}, {3}, {5} 16: [ . 1 2 . 3 ] {1, 4}, {2}, {3}, {5} 17: [ . 1 2 . 2 ] {1, 4}, {2}, {3, 5} 18: [ . 1 2 . 1 ] {1, 4}, {2, 5}, {3} 19: [ . 1 2 . . ] {1, 4, 5}, {2}, {3} 20: [ . 1 2 1 . ] {1, 5}, {2, 4}, {3} 21: [ . 1 2 1 1 ] {1}, {2, 4, 5}, {3} 22: [ . 1 2 1 2 ] {1}, {2, 4}, {3, 5} 23: [ . 1 2 1 3 ] {1}, {2, 4}, {3}, {5} 24: [ . 1 2 2 3 ] {1}, {2}, {3, 4}, {5} 25: [ . 1 2 2 2 ] {1}, {2}, {3, 4, 5} 26: [ . 1 2 2 1 ] {1}, {2, 5}, {3, 4} 27: [ . 1 2 2 . ] {1, 5}, {2}, {3, 4} 28: [ . 1 2 3 . ] {1, 5}, {2}, {3}, {4} 29: [ . 1 2 3 1 ] {1}, {2, 5}, {3}, {4} 30: [ . 1 2 3 2 ] {1}, {2}, {3, 5}, {4} 31: [ . 1 2 3 3 ] {1}, {2}, {3}, {4, 5} 32: [ . 1 2 3 4 ] {1}, {2}, {3}, {4}, {5} 33: [ . 1 1 2 3 ] {1}, {2, 3}, {4}, {5} 34: [ . 1 1 2 2 ] {1}, {2, 3}, {4, 5} 35: [ . 1 1 2 1 ] {1}, {2, 3, 5}, {4} 36: [ . 1 1 2 . ] {1, 5}, {2, 3}, {4} 37: [ . 1 1 1 . ] {1, 5}, {2, 3, 4} 38: [ . 1 1 1 1 ] {1}, {2, 3, 4, 5} 39: [ . 1 1 1 2 ] {1}, {2, 3, 4}, {5} 40: [ . 1 1 . 2 ] {1, 4}, {2, 3}, {5} 41: [ . 1 1 . 1 ] {1, 4}, {2, 3, 5} 42: [ . 1 1 . . ] {1, 4, 5}, {2, 3} 43: [ . 1 . . . ] {1, 3, 4, 5}, {2} 44: [ . 1 . . 1 ] {1, 3, 4}, {2, 5} 45: [ . 1 . . 2 ] {1, 3, 4}, {2}, {5} 46: [ . 1 . 1 2 ] {1, 3}, {2, 4}, {5} 47: [ . 1 . 1 1 ] {1, 3}, {2, 4, 5} 48: [ . 1 . 1 . ] {1, 3, 5}, {2, 4} 49: [ . 1 . 2 . ] {1, 3, 5}, {2}, {4} 50: [ . 1 . 2 1 ] {1, 3}, {2, 5}, {4} 51: [ . 1 . 2 2 ] {1, 3}, {2}, {4, 5} 52: [ . 1 . 2 3 ] {1, 3}, {2}, {4}, {5} ct=52