だから私は農夫-オオカミ-ヤギ-キャベツ-肥料のパズルを解くのに役立つさまざまな手順を書かなければなりません。それを知らない人のために、それは農民が川の北岸から他のすべての物で南岸に渡らなければならないことを含みます。銀行は3つの状況で安全になります:農民がいる、またはオオカミが山羊と一緒に残されていない、または山羊がキャベツと一緒に残されていない。演習では、変数は[f、b、g、w、c]になります。
私が立ち往生している手順(choose(Bank、Items))には、銀行からの輸送の一部であり、安全でないままにすることができる1つまたは2つの要素(常に農家を含む-f)のリストを見つけることが含まれます。
([g、f、b]、Items)を選択した場合、Itemsの可能な戻り値は[f]、[f、g]、[f、b]になります。ただし、([g、f、c]、Items)を選択した場合、ヤギとキャベツを一緒に残すことはできないため、返される可能性のある値は[f、c]または[f、g]のみです。
したがって、誰かが私にアイテムのすべての可能なオプションを取得する方法のヒントを教えてもらえますが、リストでは2つ以下のアイテムですか?