blob: a41152e77e74fda51d82411488eb5ebedb76a604 (
plain)
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
|
#ifndef _ALGO_HPP_
#define _ALGO_HPP_
#include <vector>
#include "cube.h"
typedef int32_t heur_t;
class Solver {
private:
kh_cube_t *pruning_table;
kh_cube_t *visited_states;
void generate_pruning_table(uint32_t depth);
std::vector<rotations> retrieve_solution(cube_t cube);
std::vector<rotations> get_solve_pruning(cube_t cube);
public:
heur_t heuristic(const cube_t cube, const uint16_t moves_cnt);
Solver(uint32_t pruning_tab_depth=0);
~Solver();
std::vector<rotations> solve(const cube_t cube);
};
#endif /* _ALGO_HPP_ */
|