P90 · Packing and covering · Classic · Hard

Dominoes in a square · n = 40

Pack n 1 × 2 dominoes into a square container with boundary contact allowed and disjoint interiors, minimising the side length of the container square.

Instancen = 40
ObjectiveMinimize container square side

Record comparison

container square side · Lower is better
RecordValue / intervalAuthor / holderSource
External best knownUnresolvedSee original sourceSee source attributionErich Friedman ↗
Site recordNo player record yet——

Formal definition

  • ContainerThe editor and certificate normalise the container to the unit square [0,1]², while public scores are reported in the literature's 1 × 2 domino scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the short side of each domino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the domino centre; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent dominoes lie wholly inside the container with pairwise disjoint interiors. Dominoes may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals, with zero floating-point tolerance in feasibility checks.
  • ObjectiveContainer square side = 1/r (where r is the domino's short side inside the unit square), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Open full editor ↗

Layout shown: starter layout

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values.

Source
The current arrangement for Dominoes in a square n = 40
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
ANSWER FORMAT

How to write your answer

the unit square [0,1]²

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the short side of each domino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the domino centre; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

Starter answer

{
  "placements": [
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.055555556",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.055555556",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.166666667",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.166666667",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.277777778",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.277777778",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.388888889",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.388888889",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.333333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.055555556"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.055555556"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.166666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.166666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.277777778"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.277777778"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.388888889"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.388888889"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.500000000"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.500000000"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.944444444",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.944444444",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.833333333",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.833333333",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.722222222",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.722222222",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.611111111",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.611111111",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.666666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.944444444"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.944444444"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.833333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.833333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.722222222"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.722222222"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.611111111"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.611111111"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.500000000"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.500000000"
    }
  ],
  "radius": "0.111111111"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 40,
  "sides": 5
}

Starter answer

{
  "placements": [
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.055555556",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.055555556",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.166666667",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.166666667",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.277777778",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.277777778",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.388888889",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.388888889",
      "y": "0.333333333"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.111111111"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.333333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.055555556"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.055555556"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.166666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.166666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.277777778"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.277777778"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.388888889"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.388888889"
    },
    {
      "turn": "0.000000000",
      "x": "0.888888889",
      "y": "0.500000000"
    },
    {
      "turn": "0.000000000",
      "x": "0.666666667",
      "y": "0.500000000"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.944444444",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.944444444",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.833333333",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.833333333",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.722222222",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.722222222",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.611111111",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.611111111",
      "y": "0.666666667"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.888888889"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.500000000",
      "y": "0.666666667"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.944444444"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.944444444"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.833333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.833333333"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.722222222"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.722222222"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.611111111"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.611111111"
    },
    {
      "turn": "0.000000000",
      "x": "0.111111111",
      "y": "0.500000000"
    },
    {
      "turn": "0.000000000",
      "x": "0.333333333",
      "y": "0.500000000"
    }
  ],
  "radius": "0.111111111"
}

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the short side of each domino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the domino centre; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · 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.