まず第一に、この人は最初に羊を反対側に持っていなければなりません。なぜなら、彼が最初にオオカミまたは転がったキャベツを持っている場合、羊はオオカミや転がりキャベツに食べられるからです。したがって、彼は羊を反対側に持ってきて、そこで待たせる必要があります。

その後、この人は川に戻ってオオカミを反対側に持ってくる必要がありますが、彼は羊を川のそばに置くことができないので、彼はオオカミを連れて羊を連れ戻さなければなりません。

それから彼はキャベツを反対側に持っていく必要がありましたが、彼は羊とオオカミを川に残すことができなかったので、彼は羊を連れて行く必要があり、そして戻ってオオカミを連れてきました。

最終的に、彼は反対側に戻って羊を連れ戻す必要がありました。したがって、川を5回渡る必要があります。
首先，这个人要先把羊带到对岸，因为如果他先带狼或卷心菜，那么羊就会被狼吃掉或者卷心菜被羊吃掉。所以，他需要把羊带到对岸，让它在那里等着。

然后，这个人需要回到河边，把狼带到对岸，但是他不能把羊留在河边，所以他要把狼带过去之后，再把羊带回来。

接着，他需要把卷心菜带到对岸，但是他不能把羊和狼留在河边，因此他需要把羊带过去，然后再回来把狼带过去。

最后，他需要再回到对岸，把羊带回来，这样所有的东西都已经被带到了对岸。因此，总共需要渡河5次。