class AtCoder::TwoSat

Overview

Implements atcoder::two_sat

twosat = AtCoder::TwoSat.new(2_i64)
twosat.add_clause(0, true, 1, false)
twosat.add_clause(1, true, 0, false)
twosat.add_clause(0, false, 1, false)
twosat.satisfiable? # => true
twosat.answer       # => [false, false]

Defined in:

two_sat.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(size : Int64) #

[View source]

Instance Method Detail

def add_clause(i, f, j, g) #

Implements atcoder::two_sat.add_clause(i, f, j, g).


[View source]
def answer #

Implements atcoder::two_sat.answer().

This method will raise NotSatisfiableError if it's not satisfiable.


[View source]
def satisfiable? #

Implements atcoder::two_sat.satisfiable().


[View source]
def size : Int64 #

[View source]