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