Programming challenges the programming contest training manual - Skiena, Steven S.; Revilla, Miguel A. (Springer, 2003)