农夫过河

来源:互联网 发布:淘宝宝贝上架图片尺寸 编辑:程序博客网 时间:2024/06/08 03:55
题目:
        一个农夫带了一只狼,一只羊和一棵白菜来到河边。他需要用船把它们带到河对岸。然而,这艘船只能容下农夫本人和另外一样东西(要么是狼,要么是羊,要么是白菜)。如果农夫不在场的话,狼就会吃掉羊,羊也会吃掉白菜。请为农夫解决这个问题,或者证明它无解(为了有助于解决这个问题,我们假设农夫是一位不爱吃白菜的素食主义者,所以他既不吃羊,也不吃白菜。而且我们也不假设这只狼是一种受保护的动物)。

分析:
        其实这个题目限制多多,很容易得到答案。既然狼吃羊,羊吃白菜,那么第一次过河的时候,农夫只能带走羊,这样,狼和白菜就相安无事。农夫从对岸回来后,这里有2个选择,带走狼或者白菜(都可以,这里分析其中一种,带走狼),那么到对岸后,羊必须带回来,不然会被吃掉,回到岸边后,为了不让羊吃掉白菜,这次把白菜带过去,最后回来把羊在带过去,问题解决(还有另一种情况同样的分析方法,这里不再写),下面是图示,其中P代表农夫,W代表狼,G代表羊,C代表白菜:

对岸:                PG        G            PWG    W           PWC     WC        PWGC
             ——     ——      ——      ——      ——      ——      ——      ——
             ——     ——      ——      ——      ——      ——      ——      ——
岸边: PWGC    WC        PWC     C            PGC        G         PG

答案:
有2种:
1、农夫带走羊,自己回来,带走狼,把羊带回来,带走白菜,自己回来,最后带走羊,成功过河。
2、农夫带走羊,自己回来,带走白菜,把羊带回来,带走狼,自己回来,最后带走羊,成功过河。
0 0
原创粉丝点击