本文へ移動

Kazu数

検証済みの数独や論理パズルを作り、標準の規則とヒントを読み、盤を描いたり埋め込んだりできます。

「数」は数字を表す言葉です。 名前について(英語)

目次

リファレンス · 四角に切れの規則

solveShikaku関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

Exact cover over squares. A bounded search reports incompleteness instead of claiming uniqueness.

インポート

import { solveShikaku } from "@johnmorrisdotca/kazu/shikaku";

ほかのエクスポート元: @johnmorrisdotca/kazu

定義

function solveShikaku(board: ShikakuBoard, placed?: readonly ShikakuRectangle[], options?: { limit?: number; nodes?: number; }): ShikakuSolve

引数

名前型説明
boardShikakuBoard

The valid native board with its printed clues and dimensions.

placed (省略可)readonly ShikakuRectangle[]

Rectangles already placed, to constrain the remaining search.

options (省略可){ limit?: number; nodes?: number; }

Solution/node limits or native SVG choices specified by the signature.

戻り値

ShikakuSolve

Exact cover over squares. A bounded search reports incompleteness instead of claiming uniqueness.

例

import type { ShikakuBoard } from "@johnmorrisdotca/kazu/shikaku";
import { solveShikaku } from "@johnmorrisdotca/kazu/shikaku";

const shikakuBoard: ShikakuBoard = {"width":5,"height":5,"clues":[3,0,0,0,2,0,0,0,0,4,0,0,0,0,0,0,0,0,0,3,4,3,6,0,0]};
console.log(solveShikaku(shikakuBoard,[],{limit:2,nodes:20000}));
{
  count: 1,
  solution: [
    { x: 0, y: 0, width: 3, height: 1 },
    { x: 3, y: 0, width: 2, height: 1 },
    { x: 1, y: 1, width: 4, height: 1 },
    { x: 4, y: 2, width: 1, height: 3 },
    { x: 0, y: 1, width: 1, height: 4 },
    { x: 1, y: 2, width: 1, height: 3 },
    { x: 2, y: 2, width: 2, height: 3 }
  ],
  complete: true,
  nodes: 0
}

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/kazu 2.1.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。