1. Crazy maze was not solved because the filter was not in the right place. It should be filtering the new queue instead of the new moves. When new moves were created, they were pointed to the same position and inserted into the new queue as duplicate new moves. So, it is better to filter away the  moves in the new queue with positions already visited.