华容道高性能计算引擎
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
539 B

#pragma once
#include <vector>
#include <cstdint>
class AllCases {
public:
enum Build {BASIC_RANGES, ALL_CASES};
AllCases() = default;
void build(enum Build type);
explicit AllCases(enum Build type);
const std::vector<uint32_t>* get_basic_ranges();
const std::vector<uint32_t> (*get_all_cases())[16];
private:
std::vector<uint32_t> basic_ranges;
std::vector<uint32_t> all_cases[16];
void find_all_cases();
void build_basic_ranges();
void generate_ranges(int n1, int n2, int n3, int n4);
};