P89 · Packing and covering · Classic

Tans in a square · n = 16

Pack n tans (right isosceles triangles of leg 1) into a square. Contact is allowed; interiors cannot overlap. Minimise the container square side.

Instancen = 16
ObjectiveMinimize container square side

Record comparison

container square side · Lower is better
RecordValue / intervalAuthor / holderSource
Proven optimum2√2NUE_13 #31MinMax Arena ↗
Site recordNo player record yet——

The continuous optimum is proved, so competition submissions are closed. Historical records and contribution points are retained. Because finite-decimal coordinates cannot attain this value exactly, the current certificate is not claimed optimal on the nine-decimal grid.

Formal definition

  • ContainerThe editor and certificate normalise the container to the unit square [0,1]², while public scores are reported in the literature's unit-leg scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Pieces may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals, with zero floating-point tolerance in feasibility checks.
  • ObjectiveContainer square side = 1/r (where r is the piece's leg length inside the unit square), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Read the optimality proof ↗

Layout shown: starter layout

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values.

Source
The current arrangement for Tans in a square n = 16
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Proven optimumSubmit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.Read the published proof ↗
ANSWER FORMAT

How to write your answer

the unit square [0,1]²

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

Starter answer

{
  "placements": [
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.250000010"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.000000020"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.000000020"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.500000000"
    },
    {
      "turn": "-0.414213562",
      "x": "0.999999980",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.999999980",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.500000000"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.749999990"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.999999980"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.999999980"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.500000000"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.000000020",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.000000020",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.500000000"
    }
  ],
  "radius": "0.353553376"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 16,
  "sides": 5
}

Starter answer

{
  "placements": [
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.250000010"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.000000020"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.000000020"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.500000000"
    },
    {
      "turn": "-0.414213562",
      "x": "0.999999980",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.999999980",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.500000000"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.749999990"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.749999990",
      "y": "0.999999980"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.999999980"
    },
    {
      "quarter": 3,
      "turn": "-0.414213562",
      "x": "0.500000000",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.500000000"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.000000020",
      "y": "0.749999990"
    },
    {
      "quarter": 2,
      "turn": "-0.414213562",
      "x": "0.000000020",
      "y": "0.250000010"
    },
    {
      "turn": "-0.414213562",
      "x": "0.250000010",
      "y": "0.500000000"
    }
  ],
  "radius": "0.353553376"
}

Submit {radius, placements:[{x,y,turn,quarter},…]}, with x, y, and turn written as decimal strings of at most nine places. Here radius is the leg length of each piece inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's bounding box; quarter is an integer in 0–3 specifying an exact multiple of 90° applied before the rational rotation turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.