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