Programmatically generating chess puzzles from a database of games played by users:
miniblog.
Related Posts
TIL Advent of Code and Project Euler will deliberately look for puzzles where the naive solution is worse than quadratic.
This ensures that people can solve them with any programming language. You don't want fast languages to be able to use the naive solution.
It's funny how much 'everyday coding techniques' varies by field. I've only ever used dynamic programming or min-heaps in programming puzzles.
By contrast, the (obscure?) hare and rabbit technique for linked lists -- pretty well known in lisp implementation circles!
Fun fact: Solving sudoku puzzles is NP-Complete, as an instance of the exact cover problem. Hmm.