practice problems from algorithm design manual