本文へ移動

Tsunagi繋ぎ

同じ印の2つを別々の線で結び、盤を埋めます。収録された問題やシード付きの問題で遊べます。

「つなぎ」は、物をつなぐことを表す言葉です。 名前について(英語)

目次

リファレンス · ルール・解法・生成

countSolutionsSat関数

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

Counts a layout's answers by SAT, up to limit. budget is a number of conflicts; guide is the lines the layout was made from (cells in order, portal cells too); colours says how a cell's pair is written as variables, and the default is the way every level up to 15×15 was proved: another way writes another search, with other counts.

インポート

import { countSolutionsSat } from "@johnmorrisdotca/tsunagi";

定義

function countSolutionsSat(layout: LinkLayout, limit?: number, budget?: number, guide?: readonly (readonly number[])[] | null, colours?: SatColours): SolveCount

引数

名前型説明
layoutLinkLayout

The decoded native board and its rule settings.

limit (省略可)number

Stop after finding this many solutions.

budget (省略可)number

The maximum search-work budget; exhaustion must be treated as inconclusive.

guide (省略可)readonly (readonly number[])[] | null

Optional known answer lines guiding the SAT search; null without a guide.

colours (省略可)SatColours

The palette or SAT colour encoding specified by the signature.

戻り値

SolveCount

Counts a layout's answers by SAT, up to limit. budget is a number of conflicts; guide is the lines the layout was made from (cells in order, portal cells too); colours says how a cell's pair is written as variables, and the default is the way every level up to 15×15 was proved: another way writes another search, with other counts.

例

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { countSolutionsSat, decodeLayout } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
console.log(countSolutionsSat(layout,2,20000).count);
1

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

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

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