A hotel has 4 rooms. In one of them, there are 4 beds and in the rest 2 beds. How many different ways can you put 10 passengers in these rooms?*
*/ 4 2 2 2 ! 10 6 4 2 18900 Curious they talk about putting passengers in the rooms rather than guests. On Tue, Apr 7, 2020 at 4:45 PM Skip Cave <[email protected]> wrote: > Here's the Quora problem I wanted to solve with the partition question: > > *A hotel has 4 rooms. In one of them, there are 4 beds and in the rest 2 > beds. How many different ways can you put 10 passengers in these rooms?* > > Using the J programming language, brute force approach: > > p=.1 0 0 0 1 0 1 0 1 0 NB. Partition vector > > Generate all the permutations on 10 unique items. Partition each > permutation into 4 partitions, (4, 2, 2, 2). Sort each partition, then > remove all duplicate sets of 4 partition sets. Store the reduced partition > sets in nn, and report the final size. > > $nn=.~.;"1/:~"1 ea p<;.1"1 perm 10 > > 18900 10 > > So the answer is 18,900 unique ways to partition 10 guests in 4 rooms (4, > 2, 2, 2). > > Show the first and last few partition options: > > 10{. pnn=.p<;.1"1 nn > > │0 1 2 3│4 5│6 7│8 9│ > > │0 1 2 3│4 5│6 8│7 9│ > > │0 1 2 3│4 5│6 9│7 8│ > > │0 1 2 3│4 5│7 8│6 9│ > > │0 1 2 3│4 5│7 9│6 8│ > > │0 1 2 3│4 5│8 9│6 7│ > > │0 1 2 3│4 6│5 7│8 9│ > > │0 1 2 3│4 6│5 8│7 9│ > > │0 1 2 3│4 6│5 9│7 8│ > > │0 1 2 3│4 6│7 8│5 9│ ….. > > ….│6 7 8 9│3 5│0 4│1 2│ > > │6 7 8 9│3 5│1 2│0 4│ > > │6 7 8 9│3 5│1 4│0 2│ > > │6 7 8 9│3 5│2 4│0 1│ > > │6 7 8 9│4 5│0 1│2 3│ > > │6 7 8 9│4 5│0 2│1 3│ > > │6 7 8 9│4 5│0 3│1 2│ > > │6 7 8 9│4 5│1 2│0 3│ > > │6 7 8 9│4 5│1 3│0 2│ > > │6 7 8 9│4 5│2 3│0 1│ > Skip Cave > Cave Consulting LLC > > > On Tue, Apr 7, 2020 at 4:13 PM Hauke Rehr <[email protected]> wrote: > > > sorry, I mistook the full stop for an inflection > > > > Am 07.04.20 um 23:10 schrieb Skip Cave: > > > L: https://code.jsoftware.com/wiki/Vocabulary/lcapco > > > Skip Cave > > > Cave Consulting LLC > > > > > > > > > On Tue, Apr 7, 2020 at 4:03 PM Skip Cave <[email protected]> > > wrote: > > > > > >> It is just L: > > >> > > >> Skip Cave > > >> Cave Consulting LLC > > >> > > >> > > >> On Tue, Apr 7, 2020 at 4:02 PM Hauke Rehr <[email protected]> > > wrote: > > >> > > >>> Where is L:. documented? I can’t find it in the Vocabulary. > > >>> > > >>> Am 07.04.20 um 22:59 schrieb Skip Cave: > > >>>> That's it! > > >>>> I wanted a combination of partitioning and indexing, and L: does the > > >>> job. I'll > > >>>> have to do some studying to understand L:. > > >>>> > > >>>> r > > >>>> > > >>>> 9 8 6 1 2 2 2 6 8 7 > > >>>> > > >>>> 5 4 8 4 2 7 9 1 4 1 > > >>>> > > >>>> 4 3 3 7 7 0 6 7 6 6 > > >>>> > > >>>> m1 > > >>>> > > >>>> ┌───────┬─────┬───┬─┐ > > >>>> > > >>>> │0 1 5 3│4 2 8│7 6│9│ > > >>>> > > >>>> └───────┴─────┴───┴─┘ > > >>>> > > >>>> m1 {L:0"1 r > > >>>> > > >>>> ┌───────┬─────┬───┬─┐ > > >>>> > > >>>> │9 8 2 1│2 6 8│6 2│7│ > > >>>> > > >>>> ├───────┼─────┼───┼─┤ > > >>>> > > >>>> │5 4 7 4│2 8 4│1 9│1│ > > >>>> > > >>>> ├───────┼─────┼───┼─┤ > > >>>> > > >>>> │4 3 0 7│7 3 6│7 6│6│ > > >>>> > > >>>> └───────┴─────┴───┴─┘ > > >>>> > > >>>> > > >>>> On the other hand, if all I want to do is partition arrays, Michael > > >>> Day's > > >>>> solution is a handy technique that I will try to remember: > > >>>> > > >>>> > > >>>> 1 0 0 0 1 0 0 1 0 1 <;.1"1 r > > >>>> > > >>>> ┌───────┬─────┬───┬─┐ > > >>>> > > >>>> │9 8 6 1│2 2 2│6 8│7│ > > >>>> > > >>>> ├───────┼─────┼───┼─┤ > > >>>> > > >>>> │5 4 8 4│2 7 9│1 4│1│ > > >>>> > > >>>> ├───────┼─────┼───┼─┤ > > >>>> > > >>>> │4 3 3 7│7 0 6│7 6│6│ > > >>>> > > >>>> └───────┴─────┴───┴─┘ > > >>>> Skip Cave > > >>>> > ---------------------------------------------------------------------- > > >>>> For information about J forums see > > http://www.jsoftware.com/forums.htm > > >>>> > > >>> > > >>> -- > > >>> ---------------------- > > >>> mail written using NEO > > >>> neo-layout.org > > >>> > > >>> > ---------------------------------------------------------------------- > > >>> For information about J forums see > http://www.jsoftware.com/forums.htm > > >>> > > >> > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > -- > > ---------------------- > > mail written using NEO > > neo-layout.org > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
