I have tried to solve this problem but I can not figure out where to start. Any help would be appreciated.
Thanks,
EDIT: After another attempt I am leaning towards the answer $\frac{50!}{20!18!12!}$
EDIT2: I know that the answer that I arrived at is correct but I still do not understand why it is correct.
As indicated in the comments, your answer is correct.
We can select $20$ of the $50$ people for group $A$ in $\binom{50}{20}$ ways, $18$ of the remaining $30$ people for group $B$ in $\binom{30}{18}$, and all $12$ of the remaining $12$ people for group $C$ in $\binom{12}{12}$ ways. Hence, the number of ways of selecting $20$ people for group $A$, $18$ people for group $B$, and $12$ people for group $C$ is $$\binom{50}{20}\binom{30}{18}\binom{12}{12} = \frac{50!}{20!30!} \cdot \frac{30!}{18!12!} \cdot \frac{12!}{12!0!} = \frac{50!}{20!18!12!0!} = \frac{50!}{20!18!12!}$$ as you found.