P95 · Packing and covering · Classic · Hard

Consecutive dominoes in a square · n = 18

Place n dominoes, the k-th a k × 2k rectangle (k = 1, …, n), without overlap in a square, moved and turned freely, so as to minimise the square's side.

Instancen = 18
ObjectiveMinimize the square's side

Record comparison

the square's side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known66Erich Friedman2004Erich Friedman ↗
Site record66CCHESRecord details ↓

Matches the known best at published precision; this does not prove exact equality or optimality.

Formal definition

  • ContainerThe closed square [0, side] × [0, side] with its lower-left corner at the origin, in units of the smallest domino's short side; dominoes may touch its sides
  • SubmissionThe square's side, side > 0, and the placement of exactly n dominoes: the k-th (k = 1, …, n) is the closed k × 2k rectangle, each used exactly once; every value has at most nine decimal places
  • PlacementEach piece may be moved and turned freely: rotated lays it flat (2k × k) or stands it up (k × 2k), then it turns counter-clockwise by θ about its lower-left corner (x, y), with tan(θ/2) = turn. cos θ and sin θ are rational, so every corner is rational and any orientation can be written
  • ConstraintsEvery piece's four corners lie in the square; no two pieces' interiors intersect (touching is allowed), decided by the separating-axis test on both pieces' edge normals. Everything is decided exactly in integers, never approximately
  • ScoreThe square's side, displayed to at most nine decimal places; smaller is betterS=side
  • ObjectiveMinimise the square's side over all valid arrangementsminSside
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONsquare side 66

Getting a feel for it

The area and the longest piece

The dominoes cover 2(1² + 2² + … + n²) = n(n + 1)(2n + 1)/3 in all, so the side is at least the square root of that; the longest piece also needs a side of at least 2n, which is what decides n ≤ 4. At n = 41 the area bound is about 218.3, and the literature's 220 wastes less than 2% of the square: the large pieces set the frame, the small ones fill the gaps, and almost nothing is left over.

Literature records

Erich Friedman's table Consecutive Dominoes in Squares covers n = 1–41; every side is an integer and every pictured packing is axis-aligned. n = 1–4 are the trivial s = 2n; most of n = 5–24 are Friedman's own, from 1998 to 2014, with n = 20 by Maurizio Morandi in 2014, the one row the table says may not be optimal; n = 25–38 come from Matthew Sun and others in June 2026, with n = 26 improved by Ryan Chi and d/dx in September; and Rowan Jones added n = 39–41 in October 2026. This catalogue cites each row's value and author without reconstructing its configuration; every size starts from the site's ordinary shelf packing, behind the literature value and not the external record.

Source
The record-holding arrangement for Consecutive dominoes in a square n = 18, 66
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderCCHES
Solution methodAI · MoonshotAI: Kimi K2.6
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver noteNo solver note yet (expand)+

The record holder has not shared a solver note yet.

Record history (3 changes)
  1. CCHESAI · MoonshotAI: Kimi K2.6
    69→66
  2. NUE_13Human
    70→69
  3. 今天Human
    74→70
ANSWER FORMAT

How to write your answer

The unit is the smallest domino's short side: the k-th domino is a k × 2k rectangle. The container is the square you name — lower-left corner at the origin (0, 0), upper-right at (side, side) — and a smaller side scores better. Coordinates and the side share one unit and are written as decimals of at most nine places, such as "3.5".

Submit side and dominoes. side is the square's side, with its lower-left corner at the origin. dominoes has exactly n entries; entry k is the domino with short side k (k × 2k), written {"x", "y", "rotated"} with an optional "turn": (x, y) is its lower-left corner and the pivot it turns about; rotated false lays it flat (2k wide, k tall) and true stands it up (k wide, 2k tall); turn is tan(θ/2) of a further counter-clockwise turn θ about that corner, between -1 and 1, 0 when omitted. Apart from rotated, every value is a decimal string of at most nine places (such as "3.5").

The current leader's answer

{
  "dominoes": [
    {
      "rotated": false,
      "x": "45",
      "y": "46"
    },
    {
      "rotated": true,
      "x": "45",
      "y": "38"
    },
    {
      "rotated": true,
      "x": "51",
      "y": "42"
    },
    {
      "rotated": true,
      "x": "40",
      "y": "30"
    },
    {
      "rotated": true,
      "x": "35",
      "y": "28"
    },
    {
      "rotated": true,
      "x": "49",
      "y": "30"
    },
    {
      "rotated": true,
      "x": "48",
      "y": "16"
    },
    {
      "rotated": true,
      "x": "48",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "45",
      "y": "48"
    },
    {
      "rotated": true,
      "x": "56",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "55",
      "y": "20"
    },
    {
      "rotated": true,
      "x": "54",
      "y": "42"
    },
    {
      "rotated": true,
      "x": "35",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "31",
      "y": "38"
    },
    {
      "rotated": true,
      "x": "16",
      "y": "36"
    },
    {
      "rotated": true,
      "x": "0",
      "y": "34"
    },
    {
      "rotated": true,
      "x": "0",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "17",
      "y": "0"
    }
  ],
  "side": "66"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 18
}

The current leader's answer

{
  "dominoes": [
    {
      "rotated": false,
      "x": "45",
      "y": "46"
    },
    {
      "rotated": true,
      "x": "45",
      "y": "38"
    },
    {
      "rotated": true,
      "x": "51",
      "y": "42"
    },
    {
      "rotated": true,
      "x": "40",
      "y": "30"
    },
    {
      "rotated": true,
      "x": "35",
      "y": "28"
    },
    {
      "rotated": true,
      "x": "49",
      "y": "30"
    },
    {
      "rotated": true,
      "x": "48",
      "y": "16"
    },
    {
      "rotated": true,
      "x": "48",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "45",
      "y": "48"
    },
    {
      "rotated": true,
      "x": "56",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "55",
      "y": "20"
    },
    {
      "rotated": true,
      "x": "54",
      "y": "42"
    },
    {
      "rotated": true,
      "x": "35",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "31",
      "y": "38"
    },
    {
      "rotated": true,
      "x": "16",
      "y": "36"
    },
    {
      "rotated": true,
      "x": "0",
      "y": "34"
    },
    {
      "rotated": true,
      "x": "0",
      "y": "0"
    },
    {
      "rotated": true,
      "x": "17",
      "y": "0"
    }
  ],
  "side": "66"
}

Submit side and dominoes. side is the square's side, with its lower-left corner at the origin. dominoes has exactly n entries; entry k is the domino with short side k (k × 2k), written {"x", "y", "rotated"} with an optional "turn": (x, y) is its lower-left corner and the pivot it turns about; rotated false lays it flat (2k wide, k tall) and true stands it up (k wide, 2k tall); turn is tan(θ/2) of a further counter-clockwise turn θ about that corner, between -1 and 1, 0 when omitted. Apart from rotated, every value is a decimal string of at most nine places (such as "3.5"). · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.