solves the game
- start
- enter sides 1 by 1
- start
on an intel 11th gen it solves it in < 4ms, constexpr word list < 2.5ms
- simd friendly wordlist separator parsing (auto vectorized by clang). Not needed if using constexpr wordlist (enabled per default)
- filter word list for allowed characters & character sequences with overlapping bitmasks (no overlap => valid)
- construct graph with words as edges and their character mask connecting allowed character nodes
- traverse graph with iteratively deepening dfs and visited cache pruning longer than optimal paths (after threshold)
- contains settings.hpp with some constants e.g. max solution count
- c++ 23 with #embed support
- cth library "install" path specified in the CMakePresets.json (default:
${ProjectDir}../cth/out/install/
Algorithms are theoretically fully constexpr (if you want to solve this problem at compile time for some reason)
**Sources: the wordlists are copied from github/aliceyliang **
Has a chatgpt oneshot solution included as comparison.