Program Listing for File KnightTour.h

↰ Return to documentation for file (ADS/backtrack/KnightTour.h)

/*--------------------------------------------------------------------------*/
/*--------------------------- File KnightTour.h ----------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/

#ifndef __ADS_KnightTour
 #define __ADS_KnightTour
                      /* self-identification: #endif constant */

/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/

#include <algorithm>
#include "ADS/Contract.h"

#include <array>
#include <cstdlib>
#include <optional>
#include <utility>
#include <vector>

/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/

namespace ADS {

inline std::optional< std::vector< std::vector< int > > > knightTour(
                                    int n , int x , int y ,
                                    bool warnsdorff = true );

/*--------------------------------------------------------------------------*/

}  // end( namespace ADS )

/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/backtrack/impl/KnightTour.tpp"

/*--------------------------------------------------------------------------*/

#endif  /* KnightTour.h included */

/*--------------------------------------------------------------------------*/
/*------------------------- End File KnightTour.h --------------------------*/
/*--------------------------------------------------------------------------*/