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

Reply via email to