Algorithm Theory: lab2 : problem2

Added full solution
OOP: lots of lots of changes