CPLib.TwoSat
Defined in cp-library@0.12.2
Values
namespace CPLib.TwoSat
add_clause
Type: Std::I64 -> Std::Bool -> Std::I64 -> Std::Bool -> CPLib.TwoSat::TwoSat -> CPLib.TwoSat::TwoSat
節 (a = f) or (b = g) を追加する
Parameters
a: 変数1のインデックスf: 変数1の値(true/false)b: 変数2のインデックスg: 変数2の値(true/false)sat: 2-SAT問題
create
Type: Std::I64 -> CPLib.TwoSat::TwoSat
2-SAT問題を作る
Parameters
n: 変数の数
solve
Type: CPLib.TwoSat::TwoSat -> Std::Option (Std::Array Std::Bool)
2-SAT問題を解く
Returns
充足不能な場合はnone()。充足可能な場合はsome(arr)を返す。arr.@(i)は各リテラルの真偽値を表す。
Parameters
sat: 2-SAT問題
Types and aliases
namespace CPLib.TwoSat
TwoSat
Defined as: type TwoSat = unbox struct { ...fields... }
2-SAT問題の型
field n
Type: Std::I64
変数の数
field graph
Type: CPLib.Graph::Graph ()
グラフ