Programming Challenges by Steven Skiena, Steven S. Skiena & Miguel A. Revila