求助!这道题如何解
Description
高太尉率兵攻打梁山失利后,总结失败经验,发现失利原因是官军晕船不善水战,于是命人打造海鳅大船,并将船与船用铁索相连,加强稳定性,再次攻打梁山。梁山好汉听说后,决定不能力敌只能智取。好汉们发现船与船有铁索相连,便决定使用火炮攻击。神炮手凌振善制火炮,并且百发百中,但梁山火炮有限,所以应尽量打“扎堆”的地方。
把梁山水泊看成是M*N的矩阵。官军的海鳅大船无规则的分布在矩阵中,炮弹打中某船后,该船起火,起火的船的火势会蔓延到四周的船上(上下左右的船),下面给出一些询问(炮弹的落点),你需要回答本次打击能够烧毁船只的数量。下图中的例子中,梁山水泊是5*6的矩阵,矩阵中,0表示此处无船,1表示有船,如果炮弹打中(0,1)、(1,1)、(1,2)、(1,3)中的任意一个位置,将烧毁这4艘船(蔓延);如果炮弹打中(1,5)将烧毁1艘船;如果炮弹打中(2,4)、(3,4)、(4,4)、(5,4)、(3,5)、(2,6)、(3,6)、(4,6)、(5,6)、中的任意一个位置,将烧毁这9艘船;打中其他位置烧毁0艘船。
标号 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
2 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
4 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
5 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
Input
输入数据的第一行是整数K,表示后面有K组测试数据,每组测试数据的第一行有M、N和I三个整数,M、N表示矩阵的行列数(M、N<1000),I表示有几个询问。接下来的M行数据是矩阵的数据,再接下来的I行是询问,每个询问是一个坐标。
Output
Sample Input
2
6 7 3
0 1 0 0 0 0 0
0 1 1 1 0 1 0
0 0 0 0 1 0 1
0 0 0 0 1 1 1
0 0 0 0 1 0 1
0 0 0 0 1 0 1
0 1
2 3
100 6
2 3 1
1 0 0
1 1 0
1 0
Sample Output
4
0
-1
3
#C/C++##笔试题目#