农夫过河
来源:互联网 发布:淘宝宝贝上架图片尺寸 编辑:程序博客网 时间: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
- 农夫过河
- 农夫过河
- 农夫过河
- 农夫过河
- 农夫过河
- 农夫过河问题实现
- 农夫过河问题
- 数据结构课程设计--农夫过河
- 农夫过河问题
- 农夫过河问题
- 【人工智能】农夫过河问题
- 农夫过河问题
- 农夫、狼、羊过河问题
- 农夫过河问题的求解
- C语言农夫过河问题
- c实现农夫过河问题
- 农夫过河问题学习笔记
- 农夫过河【数据结构实验报告】
- Qt—细节杂记
- hdu1231 最大连续子序列
- Android------Mycalculator堆栈完整版(非实现多位操作)
- UITableView
- Linux开机启动(bootstrap) -转
- 农夫过河
- STM32寄存器列表 RCC时钟相关寄存器
- 经典_STM32_ADC多通道采样的例子
- 数据结构_链队列
- 社会趣谈之无良媒体篇:北京一男子与充气娃娃结婚
- spring解决中文乱码问题
- Hive UDAF开发详解
- 浅谈STM32的DMA模块的使用
- 华为oj 进制转换