探险家莉莉进入了一座神秘的古墓,该古墓由 N \times N 个密室组成正方形矩阵,所有的密室从 (1,1) 到 (N,N) 编号。古墓中某些密室有机关可以点亮其它密室的灯。
由于古墓内相当阴暗,莉莉想要尽可能多的点亮密室。
莉莉从 (1,1) 密室开始探险,开始时这是唯一有灯的密室。在某些密室,她会发现可以打开其他密室灯的机关,同一个密室可能存在多个可以打开其他密室灯的机关。
莉莉只能穿过已点亮灯的密室,并且只能从密室 (x,y) 移动到其四个相邻的密室 (x−1,y)、(x+1,y)、(x,y−1) 和 (x,y+1)(如果这个密室在矩阵的边界上,则有较少的相邻密室)。
请编程计算莉莉能点亮的最多密室数量。
第一行包含整数 N 和 M(2 \leq N \leq 100, 1 \leq M \leq 2 \times 10^4 )。
接下来的 M 行每行描述一个单独的灯开关,具有四个整数x、y、a、b,表示密室 (x,y) 中的一个开关可用于打开密室 (a,b) 的灯,同一间密室中可能存在多个可以打开其他密室灯的开关。
输出一个整数,代表莉莉能点亮的最多密室数量。
3 6 1 1 1 2 2 1 2 2 1 1 1 3 2 3 3 1 1 3 1 2 1 3 2 1
5
5 9 1 1 2 2 2 2 3 2 1 2 2 2 2 4 4 4 1 4 2 4 1 4 4 3 3 1 3 3 3 3 5 5 4 2 5 2
2
4 10 1 1 1 2 1 1 1 3 1 3 1 4 1 4 2 1 1 4 4 3 1 4 4 4 2 1 3 1 2 1 4 1 4 1 2 3 4 1 4 3
10
【样例 1 解释】
莉莉可以使用 (1,1) 处的开关点亮 (1,2) 和 (1,3) 的灯。她可以走到 (1,3) 并点亮 (2,1) 的灯,然后走回 (2,1) 点亮 (2,2) 的灯。(2,3) 处的开关对她不可及,因为它在未照亮的密室中。
因此,她最多可以照亮5个密室。
【样例 2 解释】
她最多可以照亮2个密室,分别是 (1,1)、(2,2)。
【数据范围】
2 \leq N \leq 100,1 \leq M \leq 2 \times 10^4 。
东方博宜OJ