P91 · Packing and covering · Classic · Hard

L's in a square · n = 34

Pack n L-trominoes (three unit cells) into a square. Contact is allowed; interiors cannot overlap. Minimise the container square side.

Instancen = 34
ObjectiveMinimize container square side

Record comparison

container square side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known5 + 4√2Maurizio Morandi2026-10Erich Friedman ↗
Site record10.656854404NUE_13Record details ↓

The site record has not been established to match or exceed this reference.

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-cell L-tromino 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 unit-cell side of each L-tromino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's 2 × 2 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 L-trominoes 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 tromino's cell side inside the unit square), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Open full editor ↗

Layout shown: site record

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 record-holding arrangement for L's in a square n = 34, 10.656854404
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderNUE_13
Solution methodAI · DeepSeek: DeepSeek V4 Flash 0423
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

n=34,容器边长 5+4√2。坐标点取 L 形的凹角(re-entrant corner),radius = 单格边长。精确构型:15 块在整数格 (i,j),7 块在 (s*−i, s*−j),12 块在 x=5+m√2、y=5+m'√2(m,m' 为半整数,即 45° 斜堆)。在 s* 处所有接触恰好相切,bbox=[0,s*]²。 可复现流程:半径 r=k·10⁻⁹(k 整数),盒子边长 S=1/r。先把 turn 的 9 位截断(0.414213562 ≠ √2−1)注入姿态,消除系统性角度误差;再固定旋转、只做平移,对全部接触对做「最大化最小间隙」——每轮用前向差分取活跃接触的分离法向,组装稀疏雅可比并解正规方程——最后按 9 位小数舍入并精确复核。k=93836320(S=s*+1.54e-7)舍入后仍有 +9.2e-9 对间隙、+10.7e-9 墙间隙。 失败的尝试:直接舍入精确构型会因坐标刻度 1e-9·S≈1.07e-8 产生约 −7e-9 的假重叠;对末位做 ±1 贪心修复会卡死,因为一个刻度远大于盒内总余量;k=93836321(S=s*+4.0e-8)的连续最大最小间隙只有 4.0e-9,240 种随机舍入(全局/逐块抖动)全部失败,最好仍为 −0.6e-9。结论:9 位小数下 k=93836321 实际不可达,当前值距该下限 1.1e-7。 后续:同一构造给出 n=35 的 9(1+√2)/2;若还要往下压,只能做整数格上的全局搜索(ILP/CP-SAT),且在 9 位小数内收益 <1.2e-7。 Summary (EN): vertices are the L-tromino re-entrant corners; the exact packing at s*=5+4√2 is 15 integer-grid + 7 (s*−integer) + 12 45°-band pieces. Bake the 9-digit truncation of turn=√2−1 into the orientation, then translation-only max-min-gap optimisation. k=93836320 is valid with +9.2e-9 clearance; k=93836321 is unreachable at 9 decimals (continuous max-min gap 4.0e-9 vs coordinate quantum 1.07e-8).

Read and reply in the discussion →
Record history (9 changes)
  1. NUE_13AI · DeepSeek: DeepSeek V4 Flash 0423
    10.656855313→10.656854404
  2. NUE_13Human
    10.656856335→10.656855313
  3. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    10.657395018→10.656856335
  4. NUE_13Human
    10.657396153→10.657395018
  5. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    10.666028867→10.657396153
  6. NUE_13Human
    10.666029663→10.666028867
  7. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    10.700000106→10.666029663
  8. NUE_13AI · DeepSeek: DeepSeek V4.1 Flash
    10.767767099→10.700000106
  9. zzzcyAI · OpenAI: GPT-6 Astra
    11.000000111→10.767767099
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 unit-cell side of each L-tromino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's 2 × 2 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.

The current leader's answer

{
  "placements": [
    {
      "quarter": 0,
      "turn": "0.414213562",
      "x": "0.137420111",
      "y": "0.933647700"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.530818390",
      "y": "0.906163673"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.906163675",
      "y": "0.906163675"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.718491032",
      "y": "0.906163675"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.336477009",
      "y": "0.867295402"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.812327353",
      "y": "0.812327353"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.270124708",
      "y": "0.800943103"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836322",
      "y": "0.750690571"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.469181609",
      "y": "0.734590805"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.718491032",
      "y": "0.718491031"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.906163675",
      "y": "0.718491032"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.402829308",
      "y": "0.668238506"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.601886207",
      "y": "0.601886206"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.187672645",
      "y": "0.563017930"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.563017928"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.535533905",
      "y": "0.535533907"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.906163673",
      "y": "0.530818390"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.734590806",
      "y": "0.469181608"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.375345287",
      "y": "0.469181607"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.668238504",
      "y": "0.402829309"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.187672646",
      "y": "0.375345287"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.375345285"
    },
    {
      "quarter": 2,
      "turn": "0.414213562",
      "x": "0.867295402",
      "y": "0.336477010"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.375345287",
      "y": "0.281508965"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.563017928",
      "y": "0.281508966"
    },
    {
      "quarter": 0,
      "turn": "0.414213562",
      "x": "0.800943103",
      "y": "0.270124709"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.093836321",
      "y": "0.187672644"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.281508965",
      "y": "0.187672644"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.933647700",
      "y": "0.137420111"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.563017929",
      "y": "0.093836325"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.469181608",
      "y": "0.093836323"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.281508966",
      "y": "0.093836322"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.093836323"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.750690570",
      "y": "0.093836323"
    }
  ],
  "radius": "0.093836320"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

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

The current leader's answer

{
  "placements": [
    {
      "quarter": 0,
      "turn": "0.414213562",
      "x": "0.137420111",
      "y": "0.933647700"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.530818390",
      "y": "0.906163673"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.906163675",
      "y": "0.906163675"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.718491032",
      "y": "0.906163675"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.336477009",
      "y": "0.867295402"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.812327353",
      "y": "0.812327353"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.270124708",
      "y": "0.800943103"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836322",
      "y": "0.750690571"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.469181609",
      "y": "0.734590805"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.718491032",
      "y": "0.718491031"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.906163675",
      "y": "0.718491032"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.402829308",
      "y": "0.668238506"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.601886207",
      "y": "0.601886206"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.187672645",
      "y": "0.563017930"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.563017928"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.535533905",
      "y": "0.535533907"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.906163673",
      "y": "0.530818390"
    },
    {
      "quarter": 1,
      "turn": "0.414213562",
      "x": "0.734590806",
      "y": "0.469181608"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.375345287",
      "y": "0.469181607"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.668238504",
      "y": "0.402829309"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.187672646",
      "y": "0.375345287"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.375345285"
    },
    {
      "quarter": 2,
      "turn": "0.414213562",
      "x": "0.867295402",
      "y": "0.336477010"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.375345287",
      "y": "0.281508965"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.563017928",
      "y": "0.281508966"
    },
    {
      "quarter": 0,
      "turn": "0.414213562",
      "x": "0.800943103",
      "y": "0.270124709"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.093836321",
      "y": "0.187672644"
    },
    {
      "quarter": 3,
      "turn": "0.000000000",
      "x": "0.281508965",
      "y": "0.187672644"
    },
    {
      "quarter": 3,
      "turn": "0.414213562",
      "x": "0.933647700",
      "y": "0.137420111"
    },
    {
      "quarter": 2,
      "turn": "0.000000000",
      "x": "0.563017929",
      "y": "0.093836325"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.469181608",
      "y": "0.093836323"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.281508966",
      "y": "0.093836322"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.093836323",
      "y": "0.093836323"
    },
    {
      "quarter": 0,
      "turn": "0.000000000",
      "x": "0.750690570",
      "y": "0.093836323"
    }
  ],
  "radius": "0.093836320"
}

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 unit-cell side of each L-tromino inside the unit-square container, so the container side length is 1/radius. The coordinates x, y specify the centre of the piece's 2 × 2 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.