P13 · Packing and covering · Classic · Hard

Packing circles of radius 1,2,…,n into a square · n = 30

Fit n circles of radii 1, 2, …, n, none overlapping, inside one square, making the side of that square as small as possible.

Instancen = 30
ObjectiveMinimize square side

Formal definition

  • ContainerA square of side side with the origin at its lower-left corner, where side is yours to choose — it is the score; the unit is the smallest circle
  • Submissionside and centers, the centres listed in order of radii 1, 2, …, n
  • ConstraintsCircle i has radius exactly i; no two overlap in their interiors; every circle lies wholly inside the square
  • ObjectiveMake the side of the square as small as possible
Open the full editor
185.66254565y0
0x185.66254565
VERIFIED CONSTRUCTIONside = 185.66254565

Getting a feel for it

Where the room for improvement is

The big circles set the skeleton and the small ones caulk the seams: each new largest circle can upend the whole previous layout.

Where the frontier is

n ≤ 4 follow from elementary centre-distance bounds (see the sub-problems). The circular-container version was the Zimmermann contest problem (see Packomania); this square version has no table, and the rest are open.

Source
Current leader

185.66254565

square side

Matches the best known
Record holderFounding benchmark
Solution methodHuman
Challenge this record
ANSWER FORMAT

How to write your answer

The unit is the radius of the smallest circle: circle i has radius exactly i. 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 radii share one unit and are written as plain decimals such as "3.5", to at most nine decimal places.

Submit side and centers, listed in order of radius 1,2,…,n. Write every number as a decimal string, for example "3.5".

The current leader's answer

{
  "centers": [
    [
      "79.690820494",
      "140.795706193"
    ],
    [
      "38.215097515",
      "71.632515669"
    ],
    [
      "105.729221638",
      "182.629932702"
    ],
    [
      "80.743161751",
      "181.645815349"
    ],
    [
      "133.615065855",
      "5.033913247"
    ],
    [
      "179.586857698",
      "55.092719205"
    ],
    [
      "37.094050777",
      "43.532501059"
    ],
    [
      "125.093736102",
      "148.574699434"
    ],
    [
      "47.521397413",
      "31.394685147"
    ],
    [
      "47.396432256",
      "10.001043337"
    ],
    [
      "94.081211417",
      "174.587365688"
    ],
    [
      "12",
      "92.41912227"
    ],
    [
      "37.106871784",
      "88.604567532"
    ],
    [
      "119.384615392",
      "171.593340921"
    ],
    [
      "170.532737056",
      "117.752790532"
    ],
    [
      "115.246038784",
      "16.015464942"
    ],
    [
      "100.158923263",
      "146.734717736"
    ],
    [
      "18",
      "167.66254565"
    ],
    [
      "19",
      "62.219784528"
    ],
    [
      "20.002086674",
      "22.237488891"
    ],
    [
      "58.981287913",
      "60.996421608"
    ],
    [
      "77.099761961",
      "22"
    ],
    [
      "162.660145974",
      "78.822782668"
    ],
    [
      "24.52035203",
      "126.171763427"
    ],
    [
      "60.426406872",
      "160.66254565"
    ],
    [
      "129.157245115",
      "114.634858448"
    ],
    [
      "158.66254565",
      "158.66254565"
    ],
    [
      "157.66254565",
      "28"
    ],
    [
      "74.497328561",
      "108.528016181"
    ],
    [
      "110.542826898",
      "61.819108576"
    ]
  ],
  "side": "185.66254565"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 30
}

The current leader's answer

{
  "centers": [
    [
      "79.690820494",
      "140.795706193"
    ],
    [
      "38.215097515",
      "71.632515669"
    ],
    [
      "105.729221638",
      "182.629932702"
    ],
    [
      "80.743161751",
      "181.645815349"
    ],
    [
      "133.615065855",
      "5.033913247"
    ],
    [
      "179.586857698",
      "55.092719205"
    ],
    [
      "37.094050777",
      "43.532501059"
    ],
    [
      "125.093736102",
      "148.574699434"
    ],
    [
      "47.521397413",
      "31.394685147"
    ],
    [
      "47.396432256",
      "10.001043337"
    ],
    [
      "94.081211417",
      "174.587365688"
    ],
    [
      "12",
      "92.41912227"
    ],
    [
      "37.106871784",
      "88.604567532"
    ],
    [
      "119.384615392",
      "171.593340921"
    ],
    [
      "170.532737056",
      "117.752790532"
    ],
    [
      "115.246038784",
      "16.015464942"
    ],
    [
      "100.158923263",
      "146.734717736"
    ],
    [
      "18",
      "167.66254565"
    ],
    [
      "19",
      "62.219784528"
    ],
    [
      "20.002086674",
      "22.237488891"
    ],
    [
      "58.981287913",
      "60.996421608"
    ],
    [
      "77.099761961",
      "22"
    ],
    [
      "162.660145974",
      "78.822782668"
    ],
    [
      "24.52035203",
      "126.171763427"
    ],
    [
      "60.426406872",
      "160.66254565"
    ],
    [
      "129.157245115",
      "114.634858448"
    ],
    [
      "158.66254565",
      "158.66254565"
    ],
    [
      "157.66254565",
      "28"
    ],
    [
      "74.497328561",
      "108.528016181"
    ],
    [
      "110.542826898",
      "61.819108576"
    ]
  ],
  "side": "185.66254565"
}

Submit side and centers, listed in order of radius 1,2,…,n. Write every number as a decimal string, for example "3.5". · Verifier v1.0.0