// output of ./demo/comb/mset-subset-lex-demo.cc: // Description: //% Subsets of a multiset in lexicographic order with respect to subsets, //% generated as (multi-)delta sets (that is, mixed radix numbers). //% See Joerg Arndt, Subset-lex: did we miss an order?, (2014) //% http://arxiv.org/abs/1405.6503 arg 1: 3 == n [Number of types of elements in multiset] default=3 arg 2: 3 == rr [Multiplicity of elements in multiset: (0==>[1,2,3,...,n])] default=3 args 3,4,... : [Optionally supply multiplicity for all types (rr ignored)] 0: [ . . . ] { } 1: [ 1 . . ] { 0 } 2: [ 2 . . ] { 0, 0 } 3: [ 3 . . ] { 0, 0, 0 } 4: [ 3 1 . ] { 0, 0, 0, 1 } 5: [ 3 2 . ] { 0, 0, 0, 1, 1 } 6: [ 3 3 . ] { 0, 0, 0, 1, 1, 1 } 7: [ 3 3 1 ] { 0, 0, 0, 1, 1, 1, 2 } 8: [ 3 3 2 ] { 0, 0, 0, 1, 1, 1, 2, 2 } 9: [ 3 3 3 ] { 0, 0, 0, 1, 1, 1, 2, 2, 2 } 10: [ 3 2 1 ] { 0, 0, 0, 1, 1, 2 } 11: [ 3 2 2 ] { 0, 0, 0, 1, 1, 2, 2 } 12: [ 3 2 3 ] { 0, 0, 0, 1, 1, 2, 2, 2 } 13: [ 3 1 1 ] { 0, 0, 0, 1, 2 } 14: [ 3 1 2 ] { 0, 0, 0, 1, 2, 2 } 15: [ 3 1 3 ] { 0, 0, 0, 1, 2, 2, 2 } 16: [ 3 . 1 ] { 0, 0, 0, 2 } 17: [ 3 . 2 ] { 0, 0, 0, 2, 2 } 18: [ 3 . 3 ] { 0, 0, 0, 2, 2, 2 } 19: [ 2 1 . ] { 0, 0, 1 } 20: [ 2 2 . ] { 0, 0, 1, 1 } 21: [ 2 3 . ] { 0, 0, 1, 1, 1 } 22: [ 2 3 1 ] { 0, 0, 1, 1, 1, 2 } 23: [ 2 3 2 ] { 0, 0, 1, 1, 1, 2, 2 } 24: [ 2 3 3 ] { 0, 0, 1, 1, 1, 2, 2, 2 } 25: [ 2 2 1 ] { 0, 0, 1, 1, 2 } 26: [ 2 2 2 ] { 0, 0, 1, 1, 2, 2 } 27: [ 2 2 3 ] { 0, 0, 1, 1, 2, 2, 2 } 28: [ 2 1 1 ] { 0, 0, 1, 2 } 29: [ 2 1 2 ] { 0, 0, 1, 2, 2 } 30: [ 2 1 3 ] { 0, 0, 1, 2, 2, 2 } 31: [ 2 . 1 ] { 0, 0, 2 } 32: [ 2 . 2 ] { 0, 0, 2, 2 } 33: [ 2 . 3 ] { 0, 0, 2, 2, 2 } 34: [ 1 1 . ] { 0, 1 } 35: [ 1 2 . ] { 0, 1, 1 } 36: [ 1 3 . ] { 0, 1, 1, 1 } 37: [ 1 3 1 ] { 0, 1, 1, 1, 2 } 38: [ 1 3 2 ] { 0, 1, 1, 1, 2, 2 } 39: [ 1 3 3 ] { 0, 1, 1, 1, 2, 2, 2 } 40: [ 1 2 1 ] { 0, 1, 1, 2 } 41: [ 1 2 2 ] { 0, 1, 1, 2, 2 } 42: [ 1 2 3 ] { 0, 1, 1, 2, 2, 2 } 43: [ 1 1 1 ] { 0, 1, 2 } 44: [ 1 1 2 ] { 0, 1, 2, 2 } 45: [ 1 1 3 ] { 0, 1, 2, 2, 2 } 46: [ 1 . 1 ] { 0, 2 } 47: [ 1 . 2 ] { 0, 2, 2 } 48: [ 1 . 3 ] { 0, 2, 2, 2 } 49: [ . 1 . ] { 1 } 50: [ . 2 . ] { 1, 1 } 51: [ . 3 . ] { 1, 1, 1 } 52: [ . 3 1 ] { 1, 1, 1, 2 } 53: [ . 3 2 ] { 1, 1, 1, 2, 2 } 54: [ . 3 3 ] { 1, 1, 1, 2, 2, 2 } 55: [ . 2 1 ] { 1, 1, 2 } 56: [ . 2 2 ] { 1, 1, 2, 2 } 57: [ . 2 3 ] { 1, 1, 2, 2, 2 } 58: [ . 1 1 ] { 1, 2 } 59: [ . 1 2 ] { 1, 2, 2 } 60: [ . 1 3 ] { 1, 2, 2, 2 } 61: [ . . 1 ] { 2 } 62: [ . . 2 ] { 2, 2 } 63: [ . . 3 ] { 2, 2, 2 } ct=64