Solution:
We must assume that nobody was eaten by more than one person for the problem statement to make sense. To each cannibal we assign a numerical "depth" as follows: the depth of cannibal C is the largest integer n such that there exist cannibals C1,C2,…,Cn=C such that Ci ate Ci+1 for i=1,2,…,n−1. (A cannibal who was eaten by no one has depth 1. Also note that depth is definable: there is an upper bound on the value of n, since any chain of length greater than 30 would contain some cannibal twice, an impossibility; hence there is a maximum value of n for which chains exist.) Note that no cannibal ate another of the same depth, since the inner cannibal always has higher depth.
Now, if we can find a cannibal of depth ≥6 we are done, so assume that the only depths which occur are 1,2,3,4,5. By the pigeonhole principle, some depth was assumed by at least 6 cannibals; from the given, one of these six ate another. But we know this is impossible, so our assumption was wrong and some higher depth does occur.