1 #include <samchon/library/CombinedPermutationGenerator.hpp> 6 CombinedPermutationGenerator::CombinedPermutationGenerator(
size_t n,
size_t r)
9 this->
size_ = (size_t)pow(n, r);
11 dividerArray.assign(r, NULL);
12 for (
size_t i = 0; i <
r; i++)
14 size_t x = r - (i + 1);
15 dividerArray[i] = (size_t)pow(n, x);
20 vector<size_t> row(
r_, 0);
21 for (
size_t i = 0; i < row.size(); i++)
22 row[i] = (x / dividerArray[i]) %
n_;
size_t size_
Size, the number of all cases.
size_t r_
R, size of elements of each case.
size_t n_
N, size of the candidates.
auto r() const -> size_t
Get size of the R.
virtual auto operator[](size_t) const -> std::vector< size_t > override
Get x'th case.