As with a lot of these nowadays, it started with a tweet:
I answered in the conversation, but I thought a more detailed explanation was worth writing here for preservation purposes. Plus I wanted an excuse to write some loose pseudocode on this site, and this is a good example.
For reference, here’s a video showing most of the scenarios:
So, the rules are simple, but the logic is difficult to grasp at first. In the first instance, one player is picked at random to fill the first Hotseat. They will keep being asked questions worth £5000 in the prize fund until the 20 questions are exhausted or they get one wrong. In this latter case, they are effectively removed from play into the Red Area (effectively seat 0 in terms of placing).
A second player is now picked, who assumes seat 1. However, the Red Area player can return to active play, answering a non-multiple choice question (which appears to come from the pool of 20) – if successful, they will return to seat 2, and regular play is done with the two players asked questions in turn, starting from seat 1. If incorrect, they return to the pool and play no further part unless selected again. As you can imagine, as this continues, conceivably multiple players could be drafted in, and multiple players sent to the Red Area. In the case that play reaches the end of the row of hotseats, if there are Red Area players, one question is asked to the whole pool of Red Area players under the same rules as before.
To go back to David’s request for an algorithm (and because I’ve been writing a lot of pseudocode lately), the flow chart logic can be resolved as:
Select a player from the pool to assume Seat 1.
Then there’s effectively a loop:
For all contestants in Contestants Row
Ask questions from the pool of 20 to each player in order, starting at Seat 1, if question available. If correct, add £5000 to prize fund and continue. If incorrect, send player to Red Area, select new player to fill player's seat if available. If end of row reached: If players in Red Area, go to Red Area procedure, else repeat loop until 20 questions asked.
Red Area procedure:
Ask 1 question from pool of 20 if available. All players must agree on an answer. If correct, players return to Contestant Row in available seats (do not add to prize fund), else players return to selection pool.
If total questions asked = 20
End normal play at that point. Players in Red Area are eliminated. Players in selection pool are eliminated. Play restarts at Seat 1 and proceeds in turn. Questions are asked of each player. If correct, player stays in seat else, player is eliminated. Prize fund is divided equally between each player in seat after play completes one pass of the row.
So, a little more complex than Supermarket Sweep, no? But if anyone does want to make the mobile app of it now, my consultancy rates are reasonable 🙂