这是一道连通图的题目,首先建立一个二维数组(因为格子的编号是从1开始的,所以创建数组时是n+1个),来存储从每个格子出发,可以到达的格子的位置。然后用一个visited数组来记录,这个格子已经走过了,不能再走。在主函数中,每次从1号格子可以到达的格子出发,然后进行深度遍历。
一点想不明白的是,从一条路出发之后,返回false。然后再从另一条路出发,在这之前为什么visited状态不用重置?(现在自己想了一下,估计是因为既然之前已经走过了,那么说明,从另一条路出发,又遇到这个格子,也一样无法回到1号格子)
题目 code
网友评论