小明系列故事---捉迷藏

题目链接

刚开始的思路是直接整,把能看见的大明,二明的地方全部标记出来

但是交叉的地方又不好标记

而且如何判定既看到大明,又看到二明

直到看到了大神代码

每走一步,判断一下有没有看见大明或者二明

如果看到大明返回1,看见二明返回2,两个都看见返回3,一个没看见返回0

用s代表当前看到几个人

每次向下搜索,如果该点看到的人数与当前记录的看到的人数不一样,那么,用该点看到的人数+当前记录的看到的人数(这里重点)

这样就可以记录每个点看到多少人

注意:每个点看到的人的值不超过3,但是上面情况可能会超过3,如果大于3,那么就说明2个人都看到了,把值变为3

还有一个最主要的问题!!!!!!!

一般的搜索不会往回走!比如搜索的时候,如果走到  1 1 ,然后走到 1 2 ,那么就不会再走到1 1 了,不会有这条路线

但是这里有可能这样走!

那么问题来了!如何让他能往回走,而且不会进入无限的循环搜索

开一个三维数组存图,对于每一个位置,有三种状态,1.找到大明,2.找到二明,3.俩都找到

代码参考处


 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值