The trick in this question is separating what actually feeds into LOOCV from numbers that are just there to distract, like the class count and the feature dimension.
Start with what LOOCV means. Leave-One-Out-Cross-Validation takes whatever pool of samples it is given, call its size $m$, and builds exactly $m$ train/validation splits, one for every sample in that pool. In split $i$, sample $i$ becomes the single validation point and the remaining $m-1$ samples form the training set. So the number of splits is always just $m$, the size of the working pool, nothing more complicated than that.
Now figure out what $m$ actually is here. The dataset has 1000 samples total. The question says the first 100 are set aside for testing, and model selection (the step that uses LOOCV) happens before testing even starts. That phrasing matters: it tells us the 100 test samples never enter the LOOCV process at all, they sit untouched until the very end. So the pool LOOCV actually works with is $1000 - 100 = 900$ samples.
Plugging $m = 900$ into the rule from above, LOOCV generates 900 splits.
Let's summarize why the distractors don't fit:
So the correct answer is 900, option (C).
\[ \boxed{900} \]