刚开始的思路是直接整,把能看见的大明,二明的地方全部标记出来
但是交叉的地方又不好标记
而且如何判定既看到大明,又看到二明
直到看到了大神代码
每走一步,判断一下有没有看见大明或者二明
如果看到大明返回1,看见二明返回2,两个都看见返回3,一个没看见返回0
用s代表当前看到几个人
每次向下搜索,如果该点看到的人数与当前记录的看到的人数不一样,那么,用该点看到的人数+当前记录的看到的人数(这里重点)
这样就可以记录每个点看到多少人
注意:每个点看到的人的值不超过3,但是上面情况可能会超过3,如果大于3,那么就说明2个人都看到了,把值变为3
还有一个最主要的问题!!!!!!!
一般的搜索不会往回走!比如搜索的时候,如果走到 1 1 ,然后走到 1 2 ,那么就不会再走到1 1 了,不会有这条路线
但是这里有可能这样走!
那么问题来了!如何让他能往回走,而且不会进入无限的循环搜索
开一个三维数组存图,对于每一个位置,有三种状态,1.找到大明,2.找到二明,3.俩都找到