本文へ移動

Tsunagi繋ぎ

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

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

目次

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

countSolutionsOfLevel関数

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

How a level is proved and measured: countSolutions for a board the search of this file has always counted (4×4 to 15×15, no portals), and for a bigger one, or one with portals, the SAT search started from the level's own answer (countSolutionsSat, binary pairs). The answer is found at once and every other answer is looked for from there, so what the count costs is what proving there is none costs, which is how a big level was made to be cheap (reduce.ts) and what its difficulty measures. Still a proof: the count is of every answer, and a level whose stored answer is not the one found fails.

インポート

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

定義

function countSolutionsOfLevel(layout: LinkLayout, answer: string, limit?: number, budget?: number): SolveCount

引数

名前型説明
layoutLinkLayout

The decoded native board and its rule settings.

answerstring

The native complete answer string or solved lines specified by the signature.

limit (省略可)number

Stop after finding this many solutions.

budget (省略可)number

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

戻り値

SolveCount

How a level is proved and measured: countSolutions for a board the search of this file has always counted (4×4 to 15×15, no portals), and for a bigger one, or one with portals, the SAT search started from the level's own answer (countSolutionsSat, binary pairs). The answer is found at once and every other answer is looked for from there, so what the count costs is what proving there is none costs, which is how a big level was made to be cheap (reduce.ts) and what its difficulty measures. Still a proof: the count is of every answer, and a level whose stored answer is not the one found fails.

例

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

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

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

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

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