Exact Cover: Mobile Edition: About

Collection of Exact Cover Solvers, modelled after Donald Knuth's Dancing Links algorithms.

Input Syntax

A problem starts by defining items, either primary or secondary ones. First, define all primary items using < item1 item2 ... >, and afterwards, define secondary items using [ sec1 sec2 ... ]. Then, define all options by listing their involved items, each ending with a semicolon, like this: item1 sec1;.

You find the full syntax description below. Idents can be any string including multi-byte unicode characters, excluding other special symbols ;, [, ], <, >, and :. Colors are like idents, but occuppy a second name-space relevant to algorithms handling them.

problem ::= primary_items [ secondary_items ] { option }
primary_items ::= '<' { primary_item } '>'
primary_item ::= ident [ ':' u [ ';' v ] ]
secondary_items ::= '[' { secondary_item } ']'
secondary_item ::= ident
option ::= { ident [ ':' color ] } ';'