2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id: 5900f3c11000cf542c50fed3
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								title: 'Problem 84: Monopoly odds'
							 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								challengeType: 5
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								forumTopicId: 302198
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								dashedName: problem-84-monopoly-odds
							 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-16 00:37:30 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --description--
  
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								In the game, *Monopoly* , the standard board is set up in the following way:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  style = "text-align: center;" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < table  cellspacing = "1"  cellpadding = "5"  border = "0"  style = "background-color: black; color: black;"  align = "center" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < tbody > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > GO</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > A1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CC1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > A2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > T1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > R1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > B1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CH1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > B2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > B3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > JAIL</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > H2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > C1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > T2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > U1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > H1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > C2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CH3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > C3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > R4</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > R2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > G3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > D1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CC3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CC2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > G2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > D2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > G1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  colspan = "9" >   < / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > D3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > G2J</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > F3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > U2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > F2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > F1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > R3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > E3</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > E2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > CH2</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > E1</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < td  style = "background-color:  #ffffff ; color: black; padding: 5px; border: 1px solid black;" > FP</ td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < / tbody > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / table > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / div > < br >  
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								A player starts on the GO square and adds the scores on two 6-sided dice to determine the number of squares they advance in a clockwise direction. Without any further rules we would expect to visit each square with equal probability: 2.5%. However, landing on G2J (Go To Jail), CC (community chest), and CH (chance) changes this distribution.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								In addition to G2J, and one card from each of CC and CH, that orders the player to go directly to jail, if a player rolls three consecutive doubles, they do not advance the result of their 3rd roll. Instead they proceed directly to jail.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								At the beginning of the game, the CC and CH cards are shuffled. When a player lands on CC or CH they take a card from the top of the respective pile and, after following the instructions, it is returned to the bottom of the pile. There are sixteen cards in each pile, but for the purpose of this problem we are only concerned with cards that order a movement; any instruction not concerned with movement will be ignored and the player will remain on the CC/CH square.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < li > Community Chest (2/16 cards):< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < ol > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Advance to GO< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to JAIL< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / ol > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < li > Chance (10/16 cards):< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < ol > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Advance to GO< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to JAIL< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to C1< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to E3< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to H2< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to R1< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to next R (railway company)< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to next R< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go to next U (utility company)< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < li > Go back 3 squares.< / li > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / ol > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / ul >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The heart of this problem concerns the likelihood of visiting a particular square. That is, the probability of finishing at that square after a roll. For this reason it should be clear that, with the exception of G2J for which the probability of finishing on it is zero, the CH squares will have the lowest probabilities, as 5/8 request a movement to another square, and it is the final square that the player finishes at on each roll that we are interested in. We shall make no distinction between "Just Visiting" and being sent to JAIL, and we shall also ignore the rule about requiring a double to "get out of jail", assuming that they pay to get out on their next turn.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								By starting at GO and numbering the squares sequentially from 00 to 39 we can concatenate these two-digit numbers to produce strings that correspond with sets of squares.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Statistically it can be shown that the three most popular squares, in order, are JAIL (6.24%) = Square 10, E3 (3.18%) = Square 24, and GO (3.09%) = Square 00. So these three most popular squares can be listed with the six-digit modal string `102400` .
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If, instead of using two 6-sided dice, two `n` -sided dice are used, find the six-digit modal string.
							 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --hints--
  
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								`monopolyOdds(8)`  should return a string. 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								assert(typeof monopolyOdds(8) === 'string');
							 
						 
					
						
							
								
									
										
										
										
											2021-02-06 04:42:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								`monopolyOdds(8)`  should return string `102400` . 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								assert.strictEqual(monopolyOdds(8), '102400');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`monopolyOdds(10)`  should return string `100024` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert.strictEqual(monopolyOdds(10), '100024');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`monopolyOdds(20)`  should return string `100005` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert.strictEqual(monopolyOdds(20), '100005');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`monopolyOdds(4)`  should return string `101524` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert.strictEqual(monopolyOdds(4), '101524');
							 
						 
					
						
							
								
									
										
										
										
											2018-10-10 18:03:03 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2020-08-13 17:24:35 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --seed--
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## --seed-contents--
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function monopolyOdds(n) {
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								monopolyOdds(8);
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-12-16 00:37:30 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --solutions--
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 13:04:11 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function monopolyOdds(n) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function chanceCard(position, chanceCardPosition) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    chanceCardPosition = (chanceCardPosition + 1) % 16;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (chanceCardPosition <  6 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      position = chanceCardsMoves[chanceCardPosition];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else if (chanceCardPosition === 6 || chanceCardPosition === 7) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      position = nextMovesFromR[position];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else if (chanceCardPosition === 8) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      position = nextMovesFromU[position];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else if (chanceCardPosition === 9) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      position -= 3;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return [position, chanceCardPosition];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function chestCard(position, chestPosition) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    chestPosition = (chestPosition + 1) % 16;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (chestPosition <  2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      position = chestCardsMoves[chestPosition];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return [position, chestPosition];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function isChest(position) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return position === 2 || position === 17 || position === 33;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function isChance(position) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return position === 7 || position === 22 || position === 36;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function isJail(position) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return position === 30;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function roll(dice) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return Math.floor(Math.random() * dice) + 1;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function getTopThree(board) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return sortByVisits(board)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .slice(0, 3)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .map(elem => elem[0].toString().padStart(2, '0'))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .join('');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function sortByVisits(board) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return board
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .map((element, index) => [index, element])
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .sort((a, b) => a[1] - b[1])
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .reverse();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const rounds = 2000000;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const chestCardsMoves = [0, 10];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const chanceCardsMoves = [0, 10, 11, 24, 39, 5];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const nextMovesFromR = { 7: 15, 22: 25, 36: 5 };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const nextMovesFromU = { 7: 12, 36: 12, 22: 28 };
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  const board = new Array(40).fill(0);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let doubleCount = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let curPosition = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let curChestCard = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  let curChanceCard = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  for (let i = 0; i <  rounds ;  i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const dice1 = roll(n);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const dice2 = roll(n);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (dice1 === dice2) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      doubleCount++;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      doubleCount = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if (doubleCount > 2) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      curPosition = 10;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      doubleCount = 0;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      curPosition = (curPosition + dice1 + dice2) % 40;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      if (isChance(curPosition)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        [curPosition, curChanceCard] = chanceCard(curPosition, curChanceCard);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } else if (isChest(curPosition)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        [curPosition, curChestCard] = chestCard(curPosition, curChestCard);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } else if (isJail(curPosition)) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        curPosition = 10;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    board[curPosition]++;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  return getTopThree(board);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```