I got to know about this book because it was mentioned in his book on Algorithms as an accompaniment. I think one of the best ways to learn concepts is to do problems with them and this was quite ideal. This book is an anthology of Mathematical and Algorithmic puzzles.
Structure There are 3 chapters in this book - Easy, Medium and Hard. Some of the Hard Puzzles are genuinely hard, but many of them are approachable.
Well Known Puzzles There are many well known and famous problems here such as Monkey and the Coconuts, Josephus Problem and Godel, Escher, Bach's MU Puzzle . Some of the problems are variations of well known problem.
For example, there is a famous problem which asks whether we can tile a (2^n x 2^n) board with exactly 1 square missing with L-shaped trominoes. This has a beautiful proof with Mathematical Induction. In this book, we are asked how we can tile a board of size (2^n x 2^n) with 1 missing square with L shaped trominoes of 3 different colours such that no 2 of the same colour are touching.
There is a problem (Point Colouring) that was asked in the 1987 International Mathematical Olympiad . It has a very beautiful proof by Contradiction.
There are a few puzzles that are based on games proposed by John Conway like Game of Life, Toads and Frogs, Counter Exchange, One Dimensional Solitaire and Bulgarian Solitaire (I found this the hardest puzzle in the whole book.)
There are variations of the Tower of Hanoi problem like Reve’s Puzzle
The N-Queens problem is very famous. However, we are asked to provide a linear time constructive solution rather than the traditional exponential backtracking one.
There is Bachet's Problem and many problems on weighing and detecting the counterfeit coin.
Topics Covered There are many elegant problems about Invariants and Logical Deduction. There are many problems that are 'Constructive' in nature where we have to construct an answer or a counterexample rather than just provide an existence proof.
There are several problems that are based on the chessboard and the movement of chess pieces (Sometimes new pieces are invented for the purpose of the puzzle like The Prince's Tour ).
Mathematical Induction is an important techinque for the purpose of this book. There are several solutions which are difficult to understand, but easy to guess and prove with Mathematical Induction.
Here are some of the puzzles I really enjoyed.
One Coin for Freedom - A jailer offers two imprisoned programmers, A, B freedom if they win a game. The jailer sets up a 8 x 8 board with one coin on each cell with some heads and tails. The jailer takes only A into the room and shows A the cell B will be asked to guess. A must flip over exactly one coin from heads to tails. B is then bought into the room and made to guess the selected cell.
They may plan their strategy beforehand but cannot communicate during the game.
How do they win ?
Penny Distribution Machine - There is a stack of pennies. In one move, we remove 2 pennies from any one stack and add 1 penny to the stack on it's right. We will stop when no stack has more than 1 penny.
1. Does the final distribution of pennies depend on the order we process the stacks ?
2. What is the minimum number of stacks that will be created ?
3. How many moves will it take us ?
Hats with Numbers There are n people who are wearing a hat. Each hat has a number written on it in {0, 1, \dots , n - 1}. The numbers written on the hats need not be distinct and may repeat on multiple hats.
Everybody can see the number written on everybody else's hat but their own. Everybody must write down the number they think is on their own hat on a piece of paper. Nobody is allowed to see the number written by anybody else and no form of communication is allowed between participants.
What strategy can be adopted so that at least one person gets the number on their hat correct ?