P12 · Packing and covering · Classic

Equal-circle packing in a 2:1 rectangle · n = 12

Place n non-overlapping equal circles inside a 2 × 1 rectangle, making the common radius as large as possible.

Instancen = 12
ObjectiveMaximize common radius

Formal definition

  • ContainerA rectangle 2 wide and 1 tall: the origin (0, 0) at its lower-left corner, (2, 1) at its upper right
  • SubmissionExactly n circles: one shared radius and n centres
  • ConstraintsEvery circle lies wholly inside the container; no two overlap in their interiors, tangency allowed
  • ObjectiveMake the common radius as large as possible
Open the full editor
1y0
0x2
VERIFIED CONSTRUCTIONr = 0.083333333

Getting a feel for it

Where the room for improvement is

Optimal packings are jammed contact structures: circles brace against each other and the boundary, with tilted rows, offsets, and the odd rattler touching nothing. Neat grids are almost never optimal.

Where the frontier is

n = 3..6 are proven by elementary zig-zag arguments (see each sub-problem's known-best row); larger n in the 2 × 1 rectangle have no systematic table and are all open.

Current leader

0.083333333

common radius

Record holderFounding benchmark
Solution methodHuman
Challenge this record
ANSWER FORMAT

How to write your answer

The container is a rectangle 2 wide and 1 tall. Its lower-left corner is the origin (0, 0) and its upper-right corner is (2, 1). Coordinates and lengths share one unit and are written as plain decimals such as "0.25", to at most nine decimal places.

Submit radius and centers. Write every number as a decimal string, for example "0.25".

The current leader's answer

{
  "centers": [
    [
      "0.083333337",
      "0.5"
    ],
    [
      "0.250000003",
      "0.5"
    ],
    [
      "0.416666669",
      "0.5"
    ],
    [
      "0.583333335",
      "0.5"
    ],
    [
      "0.750000001",
      "0.5"
    ],
    [
      "0.916666667",
      "0.5"
    ],
    [
      "1.083333333",
      "0.5"
    ],
    [
      "1.249999999",
      "0.5"
    ],
    [
      "1.416666665",
      "0.5"
    ],
    [
      "1.583333331",
      "0.5"
    ],
    [
      "1.749999997",
      "0.5"
    ],
    [
      "1.916666663",
      "0.5"
    ]
  ],
  "radius": "0.083333333"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 12
}

The current leader's answer

{
  "centers": [
    [
      "0.083333337",
      "0.5"
    ],
    [
      "0.250000003",
      "0.5"
    ],
    [
      "0.416666669",
      "0.5"
    ],
    [
      "0.583333335",
      "0.5"
    ],
    [
      "0.750000001",
      "0.5"
    ],
    [
      "0.916666667",
      "0.5"
    ],
    [
      "1.083333333",
      "0.5"
    ],
    [
      "1.249999999",
      "0.5"
    ],
    [
      "1.416666665",
      "0.5"
    ],
    [
      "1.583333331",
      "0.5"
    ],
    [
      "1.749999997",
      "0.5"
    ],
    [
      "1.916666663",
      "0.5"
    ]
  ],
  "radius": "0.083333333"
}

Submit radius and centers. Write every number as a decimal string, for example "0.25". · Verifier v1.0.0