P04 · Packing and covering · Classic

Common-scale consecutive rectangle packing · n = 15

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 = 15
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.066666666

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

common scale

Record holderlird
Solution methodHuman
Challenge this record
Record history (1 changes)
  1. lirdHuman
    0.0625000000.066666666
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.102608722"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.255652121"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.464347972"
    },
    {
      "rotated": false,
      "x": "0.180869592",
      "y": "0.666630421"
    },
    {
      "rotated": false,
      "x": "0.093369591",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.185434756",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.279239157",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.376521898",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.472065272",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.569347879",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.670108696",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.755217312",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.847282608",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.925434941",
      "y": "0.000000000"
    }
  ],
  "scale": "0.066666666"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 15
}

The current leader's answer

{
  "placements": [
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.102608722"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.255652121"
    },
    {
      "rotated": false,
      "x": "0.000000000",
      "y": "0.464347972"
    },
    {
      "rotated": false,
      "x": "0.180869592",
      "y": "0.666630421"
    },
    {
      "rotated": false,
      "x": "0.093369591",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.185434756",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.279239157",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.376521898",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.472065272",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.569347879",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.670108696",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.755217312",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.847282608",
      "y": "0.000000000"
    },
    {
      "rotated": false,
      "x": "0.925434941",
      "y": "0.000000000"
    }
  ],
  "scale": "0.066666666"
}

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