I got interested in a cake cutting problem from computational perspective. Suppose we have a piece of cake and we want to slice it into pieces using several cuts. Each cut represents a chord on a circle. Integer multiplication is a special case were the cuts are dividable into two parallel sets $M$ and $N$ such that the number of cake pieces equals to $|M|*|N|$.

> I there an efficient algorithm to find the number of pieces in general (each cut can take any direction)? Given integer $K$, Is there an efficient algorithm to decide the existence of a set of non-parallel cuts that result in $K$  pieces of cake (no pair of cuts is parallel) or is it NP-complete? 

Definition: A parallel pair is a set of two cuts that do no cross each other (also their extensions outside the circle on both ends do not cross).