// output of ./demo/comb/setpart-ccf-rgs-lex-demo.cc: // Description: //% Restricted growth strings (RGS) for set partitions: //% each digit a[k] < k and a[k-1] != 0 implies a[k] <= a[k-1]. //% The RGS correspond to permutations in canonical cycle form (CCF) //% that are valid set partitions. //% Same as: maps from {1, 2, 3, ..., n} to {0, 1, 2, 3, ..., n} //% such that f(x) < x and f(x-1) != 0 implies f(x) <= f(x-1). arg 1: 5 == n [RGS of length n] default=5 1: [ . . . . . ] (0) (1) (2) (3) (4) 2: [ . . . . 1 ] (0, 1) (2) (3) (4) 3: [ . . . . 2 ] (0, 2) (1) (3) (4) 4: [ . . . . 3 ] (0, 3) (1) (2) (4) 5: [ . . . . 4 ] (0, 4) (1) (2) (3) 6: [ . . . 1 . ] (0) (1, 2) (3) (4) 7: [ . . . 1 1 ] (0, 1, 2) (3) (4) 8: [ . . . 2 . ] (0) (1, 3) (2) (4) 9: [ . . . 2 1 ] (0, 1, 3) (2) (4) 10: [ . . . 2 2 ] (0, 2, 3) (1) (4) 11: [ . . . 3 . ] (0) (1, 4) (2) (3) 12: [ . . . 3 1 ] (0, 1, 4) (2) (3) 13: [ . . . 3 2 ] (0, 2, 4) (1) (3) 14: [ . . . 3 3 ] (0, 3, 4) (1) (2) 15: [ . . 1 . . ] (0) (1) (2, 3) (4) 16: [ . . 1 . 1 ] (0, 1) (2, 3) (4) 17: [ . . 1 . 2 ] (0, 2) (1, 3) (4) 18: [ . . 1 . 3 ] (0, 3) (1, 2) (4) 19: [ . . 1 . 4 ] (0, 4) (1, 2) (3) 20: [ . . 1 1 . ] (0) (1, 2, 3) (4) 21: [ . . 1 1 1 ] (0, 1, 2, 3) (4) 22: [ . . 2 . . ] (0) (1) (2, 4) (3) 23: [ . . 2 . 1 ] (0, 1) (2, 4) (3) 24: [ . . 2 . 2 ] (0, 2) (1, 4) (3) 25: [ . . 2 . 3 ] (0, 3) (1, 4) (2) 26: [ . . 2 . 4 ] (0, 4) (1, 3) (2) 27: [ . . 2 1 . ] (0) (1, 2, 4) (3) 28: [ . . 2 1 1 ] (0, 1, 2, 4) (3) 29: [ . . 2 2 . ] (0) (1, 3, 4) (2) 30: [ . . 2 2 1 ] (0, 1, 3, 4) (2) 31: [ . . 2 2 2 ] (0, 2, 3, 4) (1) 32: [ . 1 . . . ] (0) (1) (2) (3, 4) 33: [ . 1 . . 1 ] (0, 1) (2) (3, 4) 34: [ . 1 . . 2 ] (0, 2) (1) (3, 4) 35: [ . 1 . . 3 ] (0, 3) (1) (2, 4) 36: [ . 1 . . 4 ] (0, 4) (1) (2, 3) 37: [ . 1 . 1 . ] (0) (1, 2) (3, 4) 38: [ . 1 . 1 1 ] (0, 1, 2) (3, 4) 39: [ . 1 . 2 . ] (0) (1, 3) (2, 4) 40: [ . 1 . 2 1 ] (0, 1, 3) (2, 4) 41: [ . 1 . 2 2 ] (0, 2, 3) (1, 4) 42: [ . 1 . 3 . ] (0) (1, 4) (2, 3) 43: [ . 1 . 3 1 ] (0, 1, 4) (2, 3) 44: [ . 1 . 3 2 ] (0, 2, 4) (1, 3) 45: [ . 1 . 3 3 ] (0, 3, 4) (1, 2) 46: [ . 1 1 . . ] (0) (1) (2, 3, 4) 47: [ . 1 1 . 1 ] (0, 1) (2, 3, 4) 48: [ . 1 1 . 2 ] (0, 2) (1, 3, 4) 49: [ . 1 1 . 3 ] (0, 3) (1, 2, 4) 50: [ . 1 1 . 4 ] (0, 4) (1, 2, 3) 51: [ . 1 1 1 . ] (0) (1, 2, 3, 4) 52: [ . 1 1 1 1 ] (0, 1, 2, 3, 4) ct=52