implementations of Karp's 21 NP-complete problems