Program Listing for File Domino.h
↰ Return to documentation for file (ADS/complexity/Domino.h)
/*--------------------------------------------------------------------------*/
/*----------------------------- File Domino.h ------------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/
#ifndef __ADS_Domino
#define __ADS_Domino
/* self-identification: #endif constant */
/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/Contract.h"
#include <algorithm>
#include <cstddef>
#include <optional>
#include <vector>
/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/
namespace ADS {
struct Tile {
int up , right , down , left;
};
using Tiling = std::vector< std::vector< int > >;
inline bool legalTiling( const std::vector< Tile > & D , int n ,
const Tiling & T );
inline std::optional< Tiling > squareTiling( const std::vector< Tile > & D ,
int n );
inline bool linearTiling( const std::vector< Tile > & D , long n );
/*--------------------------------------------------------------------------*/
} // end( namespace ADS )
/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/complexity/impl/Domino.tpp"
/*--------------------------------------------------------------------------*/
#endif /* Domino.h included */
/*--------------------------------------------------------------------------*/
/*--------------------------- End File Domino.h ----------------------------*/
/*--------------------------------------------------------------------------*/