Programming Chalenges - Skiena, Steven S (Springer, 2003)