#P4950. 轰炸效果
轰炸效果
题目描述
Z 国制作了新型航空炸弹,需要在靶场上测试。靶场是一个 的矩形网格区域,每个网格都有初始生命值。测试过程包含两种操作和若干查询:
- 操作 1(补充):工兵对指定矩形区域的所有网格补充生命值(增加指定值)。
- 操作 0(轰炸):投下航空炸弹,对指定矩形区域的所有网格削减生命值(减少指定值)。
请根据所有操作后的靶场状态,回答关于指定矩形区域生命值总和的查询。
输入格式
第一行包含四个整数 ,分别表示靶场的行数、列数、操作次数、查询次数。
接下来 行,每行 个整数,代表靶场各网格的初始生命值。
接下来 行,每行描述一个操作,格式为:
- 若为补充操作:
1 x1 y1 x2 y2 z,表示对左上角为 、右下角为 的矩形区域,每个网格增加 点生命值。 - 若为轰炸操作:
0 x1 y1 x2 y2 z,表示对左上角为 、右下角为 的矩形区域,每个网格减少 点生命值。
最后 行,每行四个整数 ,表示查询左上角为 、右下角为 的矩形区域的生命值总和。
注:所有坐标均从 开始。
输出格式
首先输出 行,每行 个整数,用一个空格隔开,表示所有操作完成后的靶场最终状态。
随后输出 行,每行一个整数,依次对应每个查询的结果。
样例
4 4 2 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 2 2 3 3 3
0 1 1 2 2 2
1 1 4 4
-1 -1 1 1
-1 2 4 1
1 4 4 1
1 1 1 1
20
样例解释
- 初始状态: 网格,每个格子初始生命值为 。
- 补充操作
1 2 2 3 3 3:对矩形区域 至 的每个格子增加 ,该区域 个格子变为 。 - 轰炸操作
0 1 1 2 2 2:对矩形区域 至 的每个格子减少 。 - 操作后矩阵如上输出。查询
1 1 4 4即整个矩阵的生命值总和为 。
数据范围
- 初始生命值范围: 初始值