The included source code implements a variation of the Knight’s Tour problem that counts the number of possible tours of a given length in parallel, as described in the included problem description text file. The algorithm used is a straightforward backtracking algorithm supported by a breadth-first order expansion of possible moves from the current square to define parallel tasks. Once the tasks are defined, each does a depth-first search from the given square that defines the task. Parallelization of the depth-first search portion of the code is accomplished with OpenMP. The code was intended for Windows OS and includes Microsoft Visual Studio solution and project files to build the application.
DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment.