I'm sure other people have already come up with similar ideas, but I wanted to share this cool trick.
Introduction
C++ has next_permutation
which is very nice, but what about all the other combinatorics functions? Python has the very nice itertools
library, but what should you do in C++ when you need to write a brute force solution that uses things like combinations, cartesian product/power, etc. Will you have to write the annoying (and quite large overhead) recursive backtracking? In this blog I show a light, efficient, and quite general way to do this type of thing using macros.