A problem \(p\) is hard for a class \(C\) if every problem in \(C\) can be reduced to \(p\).
That is, \(p\) is \(C\)-hard if every problem in \(C\) can be reduced to \(p\).
A problem \(p\) is complete for a class \(C\) if it is \(C\)-hard and in \(C\).
If an "easy" solution is found for a problem \(p\) which is \(C\)-complete, there is an "easy" solution to all problems in \(C\).