#### 原题说明

In a 1 million by 1 million grid, the coordinates of each grid square are `(x, y)` with `0 <= x, y < 10^6`.

We start at the `source` square and want to reach the `target` square. Each move, we can walk to a 4-directionally adjacent square in the grid that isn’t in the given list of `blocked` squares.

Return `true` if and only if it is possible to reach the target square through a sequence of moves.

Example 1:

Input: blocked = [[0,1],[1,0]], source = [0,0], target = [0,2]
Output: false
Explanation: The target square is inaccessible starting from the source square, because we can’t walk outside the grid.

Example 2:

Input: blocked = [], source = [0,0], target = [999999,999999]
Output: true
Explanation: Because there are no blocked cells, it’s possible to reach the target square.

Note:

1. `0 <= blocked.length <= 200`
2. `blocked[i].length == 2`
3. `0 <= blocked[i][j] < 10^6`
4. `source.length == target.length == 2`
5. `0 <= source[i][j], target[i][j] < 10^6`
6. `source != target`

#### 解题思路

1. 如果我们发现`BFS`在我们设定的搜索次数内，已经完成，那么说明`source`或者`target`处于被`blocked`点和迷宫边界构成的一个封闭区间内，不存在通路。
2. 如果`BFS`在设定的搜索次数内没有完成，说明并没有这样一个封闭区间能包裹住`source`或者`target`,那它们两个点一定是能够连通的。

#### 归纳总结

------ 关注公众号：猩猩的乐园 ------