=head1 NAME DLX - Dancing Links Algorithm for Exact Cover Problems =head1 SYNOPSIS use DLX; my $dlx = DLX->new(); my $col_A = $dlx->add_column('A'); my $col_B = $dlx->add_column('B'); my $col_C = $dlx->add_column('C'); my $col_D = $dlx->add_column('D'); $dlx->add_row('row1', $col_A, $col_C); $dlx->add_row('row2', $col_B, $col_D); $dlx->add_row('row3', $col_A, $col_D); my $solutions = $dlx->solve(); =head1 DESCRIPTION This module implements the Dancing Links (DLX) algorithm for solving exact cover problems. =head1 METHODS =head2 new Constructor. =head2 add_column($col_name) Add a column with the given name. =head2 add_row($row, @cols) Add a row with the given identifier and columns. =head2 solve Solve the exact cover problem and return the solutions. =head1 AUTHOR James Hammer =head1 LICENSE This module is licensed under the same terms as Perl itself. =cut