P04 · Packing and covering · Classic

Common-scale consecutive rectangle packing · n = 18

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 = 18
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.055555555

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.055555555

common scale

Record holderlird
Solution methodHuman
Challenge this record
Record history (1 changes)
  1. lirdHuman
    0.0526315780.055555555
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.000000000",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.064347773"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.189565244"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.366956495"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.603478274"
    },
    {
      "rotated": false,
      "x": "0.077070986",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.079267755",
      "y": "0.347826087"
    },
    {
      "rotated": false,
      "x": "0.156247053",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.160183059",
      "y": "0.460869499"
    },
    {
      "rotated": false,
      "x": "0.237162357",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.307185239",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.382425698",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.450709477",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.522471331",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.595972421",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.672951984",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.788192231",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.894736826",
      "y": "0.000000000"
    }
  ],
  "scale": "0.055555555"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 18
}

The current leader's answer

{
  "placements": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.064347773"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.189565244"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.366956495"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.603478274"
    },
    {
      "rotated": false,
      "x": "0.077070986",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.079267755",
      "y": "0.347826087"
    },
    {
      "rotated": false,
      "x": "0.156247053",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.160183059",
      "y": "0.460869499"
    },
    {
      "rotated": false,
      "x": "0.237162357",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.307185239",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.382425698",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.450709477",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.522471331",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.595972421",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.672951984",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.788192231",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.894736826",
      "y": "0.000000000"
    }
  ],
  "scale": "0.055555555"
}

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