#agc015c. [agc015_c]Nuske vs Phantom Thnook
[agc015_c]Nuske vs Phantom Thnook
题目描述
Nuske有一个由 行 列的正方形格子网格。行从上到下编号为 到 ,列从左到右编号为 到 。网格中的每个格子要么是蓝色要么是白色。如果 是 ,表示第 行第 列的格子是蓝色;如果 是 ,表示该格子是白色。对于任意一对蓝色格子 和 ,存在至多一条路径,该路径以 为起点,依次经过相邻的(相邻边)蓝色格子,最终到达 ,且不能重复经过同一个格子。
Nuske的永恒对手Phantom Thnook向Nuske提出了 个查询。第 个查询包含四个整数 、、 和 ,询问他以下问题:当将网格上以 行、 行、 列和 列为边界(包括边界)的矩形区域切割出来后,该区域内有多少个由蓝色格子组成的连通分量?
处理所有的查询。
约束条件
- 要么是 要么是 。
- 满足题目中给出的条件。
输入
输入从标准输入读取,格式如下:
.. : .. :
输出
对于每个查询,打印区域内由蓝色格子组成的连通分量的数量。
示例输入 1
3 4 4
1101
0110
1101
1 1 3 4
1 1 3 1
2 2 3 4
1 2 2 4
示例输出 1
3
2
2
2
在第一个查询中,指定了整个网格。有三个由蓝色格子组成的连通分量,所以应该打印 。
在第二个查询中,指定了红色框中的区域。有两个由蓝色格子组成的连通分量,所以应该打印 。注意,原始网格中属于同一连通分量的方格可能属于不同的连通分量。
示例输入 2
5 5 6
11010
01110
10101
11101
01010
1 1 5 5
1 2 4 5
2 3 3 4
3 3 3 3
3 1 3 5
1 1 3 4
示例输出 2
3
2
1
1
3
2