I found out how to arrive at the numbers I got from my simulation, so I'll try my hand at answering.
First, my simulation. As I think we've killed enough rabbits by now, I'll try to make the world a better place by giving icecream to children.
We've got 7 children: Alice, Bob, Carol, Dave, Eve, Frank, and Gabrielle.
The icecream parlor has only 5 flavours. You can come up with any flavours you like, but we'll just number them 1 through 5.
The kids get one scoop each. These kids like to share, and they'd like to try each flavour. So if they can make sure that they have picked each flavour at least once among the seven of them, they all can taste every flavour by sharing.
The question now becomes, what is the probability of the 7 children having picked all 5 flavours between them (if they don't know what the others picked, of course).
Now here's my simulation of that in SQL (Oracle 11g).
CREATE OR REPLACE TYPE nums AS TABLE OF NUMBER;
/
WITH
icecream AS (
SELECT LEVEL AS flavour
FROM dual
CONNECT BY LEVEL <= :v_nr_of_flavours
),
children AS (
SELECT
a.flavour AS alice,
b.flavour AS bob,
c.flavour AS carol,
d.flavour AS dave,
e.flavour AS eve,
f.flavour AS frank,
g.flavour AS gabrielle,
CARDINALITY(
nums(
a.flavour,
b.flavour,
c.flavour,
d.flavour,
e.flavour,
f.flavour,
g.flavour
)
MULTISET UNION DISTINCT
nums()
) AS nr_of_flavours_picked
FROM icecream g
CROSS JOIN icecream f
CROSS JOIN icecream e
CROSS JOIN icecream d
CROSS JOIN icecream c
CROSS JOIN icecream b
CROSS JOIN icecream a
)
SELECT
COUNT(*) AS nr_of_combinations,
nr_of_flavours_picked,
CASE
WHEN GROUPING(nr_of_flavours_picked) = 1
THEN NULL
ELSE DECODE(nr_of_flavours_picked, :v_nr_of_flavours, 1, 0)
END AS all_flavours_picked
FROM children
GROUP BY ROLLUP (nr_of_flavours_picked);
This gives us a value of 78125 total possibilities of which 16800 have all rabbits killed all flavours picked.
But where do those numbers come from?
The number of total possibilities is easy, that's ($5^7$). But the other number is a bit more involved.
As it turns out, there are two ways to have 7 children pick all 5 flavours. Either two flavours are picked twice, or one flavour is picked thrice.
That last case is the easiest, as that is just $7 \cdot 6 \cdot 5 \cdot 4$ (the first four kids pick a flavour that hasn't been picked yet, the last three kids pick the one flavour left). Of course there are ${5 \choose 1} = 5$ flavours that can be picked thrice, so we get $7 \cdot 6 \cdot 5 \cdot 4 \cdot 5$ possibilities.
The first case is a little bit harder, but not much. Here we have $7 \cdot 6 \cdot 5 \cdot 6$ (the first three kids pick a flavour that hasn't been picked yet, after which there are 6 ways to distribute the remaining two pairs of flavours among the remaining four kids). Here we have ${5 \choose 2} = 10$ ways of deciding which two flavours get picked twice, so the total number here is $7 \cdot 6 \cdot 5 \cdot 6 \cdot 10$.
The total of these two cases is $7 \cdot 6 \cdot 5 \cdot 4 \cdot {5 \choose 1} + 7 \cdot 6 \cdot 5 \cdot 6 \cdot {5 \choose 2} = 7 \cdot 6 \cdot 5 \cdot (4 \cdot 5 + 6 \cdot 10) = 210 \cdot 80 = 16800$ which is indeed the number we got from our simulation.
So the probability of the children having picked all flavours is $\frac{16800}{78125}$.
Here are the results for 7 children with different numbers of flavours.
$$
\begin{array}{rrr}
\begin{array}{c}\text{Nr. of flavours}\end{array} &
\begin{array}{c}\text{Nr. of combinations} \\ \text{with all flavours chosen}\end{array} &
\begin{array}{c}\text{Nr. of possible combinations}\end{array} \\
\hline
1 & 1 & 1 \\
2 & 126 & 128 \\
3 & 1806 & 2187 \\
4 & 8400 & 16384 \\
5 & 16800 & 78125 \\
6 & 15120 & 279936 \\
7 & 5040 & 823543 \\
\end{array}
$$
The general question remains to find a formula for different $m$ (hunters or children) and $n$ (rabbits or icecream flavours). I can explain all the numbers in the table above, but so far I haven't been able to formulate the general formula.