The following problem is supposed to be a nice application of the basic knowledge of graph theory. I consider it however as difficult and I would be happy if someone could help me find a solution.
Let's consider the Hydra (creature of the greek mythology) :

We can compare it to a tree quite easily: $T = (V,E)$

-The tree has root $r \in V$. The root corresponds to its torso and the leaves of the tree correspond to its heads.
-$p(v)$ gives us the parent node of a node $v \in V − \{r\}$ in the tree.
-If Hercules cuts a head $\ell \in V$ (so that $p(\ell) \neq r$) of the Hydra, it will grow back according to the following rule:
let $T_\ell$ be the subtree with the root $p(\ell)$ after the leaf $\ell$ has been removed (cut in our case), we just add two copies of $T_\ell$ to $p(p(\ell))$.
-The Hydra is considered as defeated when there is just the torso left.
Now the question:
Is it possible for Hercules to kill EACH Hydra?
The nice thing about the hydra game is that Hercules cannot lose. Whatever he does, as long as he keeps cutting the heads, he will kill the hydra (but perhaps after a loooong time). The proof is not complex, but requires a bit more sophisticated machinery than basic graph theory (it is nicely summed up in the article pointed out by @anorton, i.e. here, if you are wondering what the mysterious symbol $\omega$ means, check out the ordinal numbers at Wikipedia).
However, you want to show only that Hercules can kill any hydra, not that any strategy will kill any hydra. The former is much weaker statement and there is a basic proof of that.
Hints:
If the third step is too hard, find a more detailed explanation below:
I hope this helps $\ddot\smile$