Algorithms and Programming: Problems and Solutions (Springer Undergraduate Texts in Mathematics and Technology)