#4897. 泡泡龙

泡泡龙

题目描述

一个 mxnmxn 的二元网格 gridgrid ,其中 1 表示砖块,0 表示空白。砖块稳定(不会掉落)的前提是: 一块砖直接连接到网格的顶部,或者至少有一块相邻(4 个方向之一)砖块稳定 。

给你一个数组 hitshits ,这是需要依次消除砖块的位置。每当消除 hits[i]=(rowi,coli)hits[i] = (rowi, coli) 位置上的砖块时,对应位置的砖块**(若存在)会消失**,然后其他的砖块可能因为这一消除操作而掉落 。一旦砖块掉落,它会 立即 从网格 grid 中消失(即,它不会落在其他稳定的砖块上)。

输出数组 resultresult ,其中 result[i]result[i] 表示第 ii 次消除操作对应掉落的砖块数目。 注意,消除可能指向是没有砖块的空白位置,如果发生这种情况,则没有砖块掉落。

输入格式

第一行 三个数字 :nn,mm,hh分别表示有nn行,mm列,一共有hh发炮弹。

接下来nn行,每行mm个数字,每个数字是0,1构成,1表示有砖块,0表示是空白。

接下来是hh行,每行2个数字,表示每发炮弹的坐标。

输出格式

输出hh个数字,分别表示每次炮弹能击落的砖块数量。

样例

6 7 5
1 1 1 1 0 1 0
0 1 1 0 0 1 1
0 1 1 1 0 1 1
0 0 0 1 0 0 0
0 0 0 1 1 0 0
0 0 0 0 0 0 0
4 4
1 6
2 2
2 3
4 5
2 4 0 3 0

数据范围

对于每个测试点,1n×m,k1061 \leq n \times m,k\leq 10^6

ai,j{0,1}a_{i,j} \in \{0,1\}