P04 · Packing and covering · Classic

Common-scale consecutive rectangle packing · n = 20

Scale the rectangles 1×1, 1×2, …, 1×n by one common factor and fit them all into the unit square, making that factor as large as possible.

Instancen = 20
ObjectiveMaximize common scale

Formal definition

  • ContainerThe unit square: the origin (0, 0) at its lower-left corner, (1, 1) at its upper right
  • SubmissionSubmit placements in order 1×1 through 1×n, each a position plus an optional 90° rotation, together with the shared scale
  • ConstraintsAll rectangles use the one scale; rotation only by 90°; none overlap and none crosses the boundary
  • ObjectiveMake the shared scale as large as possible
Open the full editor
1y0
0x1
VERIFIED CONSTRUCTIONscale = 0.050000000

Getting a feel for it

Where the room for improvement is

Strips from 1×1 to 1×n grow together, the narrow ones ever longer: upright or flat, whose seam hugs whose, a jigsaw where every piece must fit. Raise the scale a hair and all n strips must find new homes.

Where the frontier is

n ≤ 2 is trivial. The close relative — consecutive rectangles in similar rectangles — is collected on Friedman's Packing Center (the minrect page); this into-a-square variant has no per-n literature, and every other n is open.

Source
Current leader

0.050000000

common scale

Record holderlird
Solution methodHuman
Challenge this record
Record history (2 changes)
  1. lirdHuman
    0.0494931960.050000000
  2. Jev LiHuman
    0.0476190470.049493196
ANSWER FORMAT

How to write your answer

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

Submit placements in 1×i order; 90° rotation is allowed.

The current leader's answer

{
  "placements": [
    {
      "rotated": false,
      "x": "0.066061786",
      "y": "0.556110357"
    },
    {
      "rotated": false,
      "x": "0.142303844",
      "y": "0.877652589"
    },
    {
      "rotated": false,
      "x": "0.017071340",
      "y": "0.015852740"
    },
    {
      "rotated": false,
      "x": "0.013976478",
      "y": "0.343226115"
    },
    {
      "rotated": false,
      "x": "0.449387893",
      "y": "0.152918174"
    },
    {
      "rotated": false,
      "x": "0.301181660",
      "y": "0.672932164"
    },
    {
      "rotated": false,
      "x": "0.068832913",
      "y": "0.631181159"
    },
    {
      "rotated": false,
      "x": "0.211407171",
      "y": "0.600000000"
    },
    {
      "rotated": false,
      "x": "0.199327894",
      "y": "0.029457248"
    },
    {
      "rotated": false,
      "x": "0.265667734",
      "y": "0.115157613"
    },
    {
      "rotated": false,
      "x": "0.442221551",
      "y": "0.441317085"
    },
    {
      "rotated": false,
      "x": "0.145487824",
      "y": "0.241126443"
    },
    {
      "rotated": false,
      "x": "0.520593182",
      "y": "0.340729123"
    },
    {
      "rotated": false,
      "x": "0.595188391",
      "y": "0.282682554"
    },
    {
      "rotated": false,
      "x": "0.371934348",
      "y": "0.203286180"
    },
    {
      "rotated": false,
      "x": "0.661120507",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.726830280",
      "y": "0.132438216"
    },
    {
      "rotated": false,
      "x": "0.785618955",
      "y": "0.032468160"
    },
    {
      "rotated": false,
      "x": "0.857142846",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.935142300",
      "y": "0.000000000"
    }
  ],
  "scale": "0.050000000"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 20
}

The current leader's answer

{
  "placements": [
    {
      "rotated": false,
      "x": "0.066061786",
      "y": "0.556110357"
    },
    {
      "rotated": false,
      "x": "0.142303844",
      "y": "0.877652589"
    },
    {
      "rotated": false,
      "x": "0.017071340",
      "y": "0.015852740"
    },
    {
      "rotated": false,
      "x": "0.013976478",
      "y": "0.343226115"
    },
    {
      "rotated": false,
      "x": "0.449387893",
      "y": "0.152918174"
    },
    {
      "rotated": false,
      "x": "0.301181660",
      "y": "0.672932164"
    },
    {
      "rotated": false,
      "x": "0.068832913",
      "y": "0.631181159"
    },
    {
      "rotated": false,
      "x": "0.211407171",
      "y": "0.600000000"
    },
    {
      "rotated": false,
      "x": "0.199327894",
      "y": "0.029457248"
    },
    {
      "rotated": false,
      "x": "0.265667734",
      "y": "0.115157613"
    },
    {
      "rotated": false,
      "x": "0.442221551",
      "y": "0.441317085"
    },
    {
      "rotated": false,
      "x": "0.145487824",
      "y": "0.241126443"
    },
    {
      "rotated": false,
      "x": "0.520593182",
      "y": "0.340729123"
    },
    {
      "rotated": false,
      "x": "0.595188391",
      "y": "0.282682554"
    },
    {
      "rotated": false,
      "x": "0.371934348",
      "y": "0.203286180"
    },
    {
      "rotated": false,
      "x": "0.661120507",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.726830280",
      "y": "0.132438216"
    },
    {
      "rotated": false,
      "x": "0.785618955",
      "y": "0.032468160"
    },
    {
      "rotated": false,
      "x": "0.857142846",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.935142300",
      "y": "0.000000000"
    }
  ],
  "scale": "0.050000000"
}

Submit placements in 1×i order; 90° rotation is allowed. · Verifier v1.0.0