On the Reconstruction of Three-dimensional Protein Structures from Contact Maps