{
  "slug": "n-queens",
  "title": "Backtracking — N-Queens",
  "category": "Recursion & DP",
  "difficulty": "hard",
  "complexity": {
    "time": "O(n!)",
    "space": "O(n)"
  },
  "idea": "Place one queen per row. For each square check whether an earlier queen already attacks it down a column or a diagonal. If a row runs out of safe squares, the previous choice was wrong — take that queen back and try the next square. That retreat is backtracking.",
  "code": [
    "solve(row):",
    "    if row == n: solved",
    "    for col in 0..n-1:",
    "        if safe(row, col): place; if solve(row+1): return true; remove",
    "    return false   # backtrack"
  ],
  "example": {
    "array": []
  },
  "invariant": "Each step is the real data structure at that step — the picture is a pure function of it.",
  "stepCount": 18,
  "steps": [
    {
      "i": 0,
      "op": "grid",
      "caption": "Place 5 queens so none share a column or diagonal — one queen per row.",
      "note": null,
      "codeLine": 1,
      "stats": null,
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 1,
      "op": "grid",
      "caption": "Row 0, column 0 is safe — place a queen.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 1
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "insert",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 2,
      "op": "grid",
      "caption": "Row 1, column 0 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 1
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          "remove",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 3,
      "op": "grid",
      "caption": "Row 1, column 1 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 1
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          null,
          "remove",
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 4,
      "op": "grid",
      "caption": "Row 1, column 2 is safe — place a queen.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 2
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "insert",
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 5,
      "op": "grid",
      "caption": "Row 2, column 0 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 2
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          "remove",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 6,
      "op": "grid",
      "caption": "Row 2, column 1 is attacked by the queen in row 1.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 2
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "compare",
          null,
          null
        ],
        [
          null,
          "remove",
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 7,
      "op": "grid",
      "caption": "Row 2, column 2 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 2
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "remove",
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 8,
      "op": "grid",
      "caption": "Row 2, column 3 is attacked by the queen in row 1.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 2
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "compare",
          null,
          null
        ],
        [
          null,
          null,
          null,
          "remove",
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 9,
      "op": "grid",
      "caption": "Row 2, column 4 is safe — place a queen.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 3
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          "insert"
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 10,
      "op": "grid",
      "caption": "Row 3, column 0 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 3
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          "remove",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 11,
      "op": "grid",
      "caption": "Row 3, column 1 is safe — place a queen.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 4
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          "insert",
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 12,
      "op": "grid",
      "caption": "Row 4, column 0 is attacked by the queen in row 0.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 4
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          "compare",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          "remove",
          null,
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 13,
      "op": "grid",
      "caption": "Row 4, column 1 is attacked by the queen in row 3.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 4
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          "compare",
          null,
          null,
          null
        ],
        [
          null,
          "remove",
          null,
          null,
          null
        ]
      ]
    },
    {
      "i": 14,
      "op": "grid",
      "caption": "Row 4, column 2 is attacked by the queen in row 1.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 4
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "compare",
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "remove",
          null,
          null
        ]
      ]
    },
    {
      "i": 15,
      "op": "grid",
      "caption": "Row 4, column 3 is safe — place a queen.",
      "note": null,
      "codeLine": 4,
      "stats": {
        "placed": 5
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          1,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "♛",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          "insert",
          null
        ]
      ]
    },
    {
      "i": 16,
      "op": "grid",
      "caption": "Every row filled — this is a valid arrangement.",
      "note": null,
      "codeLine": 2,
      "stats": {
        "placed": 5
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          1,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "♛",
          ""
        ]
      ],
      "focus": [
        [
          "settled",
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          "settled",
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          "settled"
        ],
        [
          null,
          "settled",
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          "settled",
          null
        ]
      ]
    },
    {
      "i": 17,
      "op": "grid",
      "caption": "Solved with 0 backtracks. Columns by row: 0, 2, 4, 1, 3.",
      "note": null,
      "codeLine": 2,
      "stats": {
        "placed": 5
      },
      "rows": 5,
      "cols": 5,
      "rowLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "colLabels": [
        "0",
        "1",
        "2",
        "3",
        "4"
      ],
      "grid": [
        [
          1,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          1,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          1
        ],
        [
          null,
          1,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          1,
          null
        ]
      ],
      "labels": [
        [
          "♛",
          "",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "♛",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "",
          "♛"
        ],
        [
          "",
          "♛",
          "",
          "",
          ""
        ],
        [
          "",
          "",
          "",
          "♛",
          ""
        ]
      ],
      "focus": [
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ],
        [
          null,
          null,
          null,
          null,
          null
        ]
      ]
    }
  ]
}