Sliding block puzzle for CS 342.