Rationale: Start with 10 guesses. In the room with 4 beds, there are 4!10 ways to choose the guests. After that, there are 6 guests left, and 2!6 different ways to put them into a room with 2 beds. After that, there are 4 guests left, and 2!4 ways to put them into a room with 2 beds. After that, there are 2 guests left, and 2!2 ways to put them into the last room with 2 beds.
I guess we are assuming that guests do not share a bed, and a guest can not take up more than one bed. On Tue, Apr 7, 2020 at 5:00 PM Roger Hui <[email protected]> wrote: > 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
