complexity resource: computer science - What are the differences between NP, NP-Complete and NP-Hard? - Stack Overflow