# Shapes of bridge hands

## Definition of "shape"

A bridge hand consists of 13 cards, drawn from a pack of 52 cards with 13 in each of four suits. Bridge hands can be classified by "shape". The shape of a hand is the set of lengths of the suits, in order by length. Thus a hand with "6-4-3-0" shape might have three spades, no heart, six diamonds and four clubs. ## There are 39 shapes of bridge hand

There are 39 possible shapes of bridge hand. They are shown to the right. You can click on the diagram to see a larger version.

The diagram shows the shapes in their "partial order" by flatness, as indicated by descending green lines. Hand B is regarded as flatter than hand A if

```Hand A can be converted to hand B by moving one card of hand A to another, shorter suit
or
Hand B is flatter than some hand which is flatter than hand A.```
Note that this defintion is recursive.

## How to calculate the number of shapes

To use a computer program to calculate the number of shapes of bridge hand, we can use four nested loops. Or more elegantly, we can use the insight

```A hand either has a void (so we have dealt with one of the suits)
or
it doesn't (so we have placed as many cards as there were suits)```
to break the problem down into two smaller ones, and use double recursion.

The calculation can be done by code like this

```function shapes( suits, cards ) {
if ( suits < 2 ) { return 1; }
if ( cards < 0 ) { return 0; }
if ( cards < 2 ) { return 1; }
return shapes( suits, cards-suits ) + shapes( suits-1, cards );
}```
This is written in Javascipt. Very similar code can do the same calculation in any other recursive language. If this function is called with suits=4 and cards=13, it returns the value 39. It also works for other inputs. You can test it below.

Number of suits
Number of cards in a hand

This is one of several miscellaneous pages.