1936. Tower

时间限制 2000 ms   内存限制 256 MB

A国遭到了邪恶的B国的侵略。为了抵御B国的空袭,A国计划修建大量的防空炮。

然而这时一个可恶的叛徒窃取了大量机密,并潜逃到了B国,将记有防空炮详细信息的地图交给了B国的国王。

A国的地图可看作一个 $n\times m$ 个格子组成的矩阵,将A国分成 $n\times m$ 个地区。它的左上角为 $(1,1)$ ,右下角为 $(n,m)$ 。地图中一共有 $k$ 个防空炮。

其中防空炮 $i$ 位于地区 $(x_i,y_i)$ ,它的攻击方向为 $d_i$ ,攻击力为 $a_i$ 。

每个防空炮攻击距离为无限远,但是它只能攻击到一定的角度范围,其范围为其正对方向正负 $45°$。

注意,每个防空炮也可以攻击到它自己所在的格子。一个格子上可以有多个防空炮。

我们规定:

  • 如果 $d_i=1$,炮塔正对方向向左;

  • 如果 $d_i=2$,炮塔正对方向向上;

  • 如果 $d_i=3$,炮塔正对方向向右;

  • 如果 $d_i=4$,炮塔正对方向向下。

毫无疑问,你就是那个叛徒。B国的国王希望你能计算出A国每一个地区的火力值,以便重点进攻A国火力薄弱的地区。一个地区的火力值为所有能攻击到该地区的防空炮的攻击力之总和。如果你能完成这项任务,国王会给你 $1000000000\ \%\ 10$ 元和一个气球作为奖励。

输入数据

第一行是两个整数 $n$ 和 $m\ (1\le n,m\le 1000)$,表示A国的地图大小;
第二行输入一个整数 $k\ (1\le k\le 10^5)$ ,表示地图中的防空炮数量 ;
接下来 $k$ 行,每行 $4$ 个整数 $x_i, y_i, d_i, a_i\ (1\le x_i\le n, 1\le y_i\le m, 1\le d_i\le 4, 1\le a_i\le 1000)$,分别表示防空炮的 $x, y$ 坐标,炮塔正对方向,炮塔的攻击力。

输出数据

输出 $n$ 行,每行 $m$ 个数,表示A国每一个地区的火力值。

样例输入

复制
4 4
2
3 3 1 2
2 3 2 3 · \n
 \n
 · · · \n
 · · · \n

样例输出

复制
2 3 3 3
2 2 3 0
2 2 2 0
2 2 0 0 · · · \n
 · · · \n
 · · · \n
 · · · \n

样例说明

在 $(3,3)$ 格子上有一个向左的炮台,在 $(2,3)$ 格子上有一个向上的炮台。

提交

请先 登录

© 2024 FAQs Contact About