Fun implementation. It’s isomorphic to a wide range of problems that have been used for centuries that are all isomorphic to constrained state search. The fact that the graph is explicit here makes the problem way easier. (One you may be familiar with that seems very similar is the parking problem where by sliding around the cars they (un)block one another. None of this is to take away from the fun setting and implementation. Just that it’s not a new type of problem, although it seems to be a fun new instance of a common type of problem.