Skip to content

MericLuc/ecv-queens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECV - Sudoku

🌟 Exact cover problem - N Queens application 🌟

Graphic toy written in C++/Qt to solve the N Queens problem.

Under the hood, it uses the ECV library that implements Donald Knuth's Algorithm X.

example

How to build/install

Dependencies :

  • Qt5 (Qt5::Widgets Qt5::Svg packages)
  • ecv (as a submodule)

Start by getting the sources :

[~/git] git clone https://github.com/MericLuc/ecv-queens.git
[~/git] git submodule update --init --recursive

Then, the easiest way to build is to use it as a QtCreator project.

Otherwise, you can build from command-line using cmake and defining a bunch of Qt related variables.

It should be something like that (not garanteed) :

[~/builds] cmake -S ${PATH_TO_PROJECT} -B ${PATH_TO_BUILD} -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=${PATH_TO_QT_INSTALL}
[~/builds] make

Example usage

Play in your browser using a webassembly compiled version.

Rules :

  • Hover a cell to select it.
  • Left-click to add/remove a queen to a cell.
  • For the rest, I think the UI buttons are self-explanatory 😁

Acknowledgements

This article was pretty useful, especially to realize the concept of "primary/secondary" constraints in exact-cover problems.

Releases

No releases published

Packages

No packages published