blob: 2a102dd141470c2503814eebe526ce1f46da0e52 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#pragma once
#include <vector>
#include <tuple>
#ifndef NEGATIONS_CANCEL_NEGATIONS
#define NEGATIONS_CANCEL_NEGATIONS true
#endif
#ifndef SIMPLE_POLYOMINOS
#define SIMPLE_POLYOMINOS true
#endif
#ifndef DISABLE_CACHE
#define DISABLE_CACHE false
#endif
struct Region{};
class Puzzle;
struct Pos;
class Validator {
public:
static void Validate(Puzzle& p);
private:
static void RegionCheckNegations(Puzzle& p, const Region& r);
static std::vector<Pos> RegionCheck(Puzzle& p, const Region& r);
};
|