黑马程序员技术交流社区

标题: 关于农夫过河的问题 [打印本页]

作者: KK要有光    时间: 2015-5-5 22:37
标题: 关于农夫过河的问题
基础测试阶段有一个关于农夫带着猫、鱼、狗过河的问题,        一位老农带着猫、狗、鱼过河,河边有一条船,每次老农只能带一只动物过河。当老农不和猫狗鱼在一起时,狗会咬猫,猫会吃鱼,当老农和猫狗鱼在一起时,则不会发生这种问题。这个问题若是编程解决的话需要使用哪种工具类啊,求大神指导。
作者: nine789    时间: 2015-5-5 22:52
感觉这是不可能有答案的问题
作者: 小王泽哥    时间: 2015-5-6 10:12
集合吧  建立两个集合  分别添加移除   但是添加移除时要加入判断条件    我入学基础测试抽得这个题  表示有难度
作者: fantacyleo    时间: 2015-5-6 10:59
我用的是图表示和深度优先搜索算法。虽然对这道题来说不是最简,但肯定是解决这类问题的常规思路
作者: KK要有光    时间: 2015-5-7 13:59
nine789 发表于 2015-5-5 22:52
感觉这是不可能有答案的问题

当然有答案了,而且还要求用代码实现的。可惜不会。
作者: KK要有光    时间: 2015-5-7 14:01
fantacyleo 发表于 2015-5-6 10:59
我用的是图表示和深度优先搜索算法。虽然对这道题来说不是最简,但肯定是解决这类问题的常规思路 ...

你说的我还没学到,是要用map集合么?
作者: KK要有光    时间: 2015-5-7 14:02
小王泽哥 发表于 2015-5-6 10:12
集合吧  建立两个集合  分别添加移除   但是添加移除时要加入判断条件    我入学基础测试抽得这个题  表示 ...

嗯嗯,我基础测试题也是这个。
作者: bztf    时间: 2015-5-7 14:17

1、三个arrayList(两个岸一个船)
循环:
2、用变量保存其中一个动物
3、删除已经保存的动物
4、判断
   如果为真那么输出,然后跳出循环
   如果为假那么add(刚保存动物的变量);

作者: fantacyleo    时间: 2015-5-7 15:41
KK要有光 发表于 2015-5-7 14:01
你说的我还没学到,是要用map集合么?

我说的内容,基础视频不会教的。你要自己找本算法书学习
作者: 短板    时间: 2015-5-7 16:40
记得上中学时候同学出过这个问题 当时就没弄出来,没想到。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2