#U1516DS1. Switching on the Lights
Switching on the Lights
Farmer John 最近建造了一个巨大的谷仓,由 N×N 个房间网格 (2≤N≤100) 组成,编号从 (1,1) 到 (N,N)。母牛贝西有点怕黑,想在尽可能多的房间里开灯。
Bessie 从房间 (1,1) 开始,这是最初点亮的唯一房间。在一些房间里,她会找到可以用来切换其他房间的灯的电灯开关;例如,房间 (1,1) 中可能有一个开关,用于切换房间 (1,2) 中的灯。Bessie 只能穿过明亮的房间,她只能从一个房间 (x,y) 移动到它的四个相邻的邻居 (x−1,y)、(x+1,y)、(x,y−1) 和(x,y+1) (或者如果这个房间在网格的边界上,邻居可能会更少)。
请确定 Bessie 可以照亮的最大房间数量。
输入格式(文件 lightson.in):
输入的第一行包含整数 N 和 M (1≤M≤20,000)。接下来的 M 行每行描述一个带有四个整数 x、y、a、b 的电灯开关,房间 (x,y) 中的开关可以用于切换房间 (a,b) 中的灯。任何房间都可能存在多个开关,多个开关可以切换任何房间的灯。
输出格式(文件 lightson.out):
一条线给出了 Bessie 可以照亮的最大房间数。
SAMPLE INPUT:
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
SAMPLE OUTPUT:
5
在这里,Bessie 可以使用 (1,1) 中的开关打开 (1,2) 和 (1,3) 中的灯。然后她可以走到 (1,3) 并打开 (2,1) 中的灯,从那里她可以打开 (2,2) 中的灯。她无法使用 (2,3) 中的开关,因为她在一个没有灯光的房间里。因此,她最多可以照亮 5 个房间。