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 enumerates legal paths that are half of the set length and then matches up the endpoints of different half tours to identify and count the number of tours that will return the knight to the original square. The parallelization was done with a combination of Cilk++ and POSIX Threads. The code was intended for Linux OS and includes a makefile to build the applications.
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.