Skip to content

MericLuc/ecv-latinsquare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECV - Latinsquare

🌟 Exact cover problem - Latin square application 🌟

Graphic toy written in C++/Qt to solve the latin square 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 package)
  • ecv (as a submodule)

Start by getting the sources :

[~/git] git clone https://github.com/MericLuc/ecv-latinsquare.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.
  • Enter a number between 1 - N (N being the dimension of the grid) to mark the cell.
  • Enter '0' to remove a value from a cell.
  • For the rest, I think the UI buttons are self-explanatory 😁