#5778. 古墓探险
古墓探险
题目描述
探险家莉莉进入了一座神秘的古墓,该古墓由 N×N 个密室组成正方形矩阵,所有的密室从 (1,1) 到 (N,N) 编号。古墓中某些密室有机关可以点亮其它密室的灯。
由于古墓内相当阴暗,莉莉想要尽可能多的点亮密室。
莉莉从 (1,1) 密室开始探险,开始时这是唯一有灯的密室。在某些密室,她会发现可以打开其他密室灯的机关,同一个密室可能存在多个可以打开其他密室灯的机关。
莉莉只能穿过已点亮灯的密室,并且只能从密室 (x,y) 移动到其四个相邻的密室 (x−1,y)、(x+1,y)、(x,y−1) 和 (x,y+1)(如果这个密室在矩阵的边界上,则有较少的相邻密室)。
请编程计算莉莉能点亮的最多密室数量。
输入
第一行包含整数 N 和 M(2≤N≤100,1≤M≤2×)。
接下来的 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≤N≤100,1≤M≤2×。