#P15350. [COCI 2025/2026 #4] 僵尸启示录 / Zombie Apocalypse

[COCI 2025/2026 #4] 僵尸启示录 / Zombie Apocalypse

说明

mm 个僵尸要攻城。

僵尸从离城市 (n+1)(n+1) 米的僵尸窝中依次出发攻城。僵尸的速度为 11 米每秒,沿城市方向;僵尸出窝的间隔为 11 秒。令第一只僵尸出发的时刻为第 11 秒初。

这意味着:

  • 11 秒末,有离窝 11 米的僵尸;
  • 22 秒末,有离窝 1,21,2 米的僵尸;
  • 33 秒末,有离窝 1,2,31,2,3 米的僵尸;
  • 以此类推。

僵尸离窝 (n+1)(n+1) 米时抵达城市。

现在在路上放置 kk 个炸弹以保卫城市。我们知道每个炸弹的以下信息:

  • 炸弹的位置(即离窝的距离);
  • 炸弹的爆炸半径;
  • 炸弹放置的时刻。

一个半径为 rr 的炸弹,设其在时刻 tt 被安装在 xx 处。这个炸弹会炸死某个在 yy 处的僵尸,当且仅当在时刻 ttxyr|x-y|\le r 成立。已经抵达城市的僵尸不会被炸死。僵尸被炸死后不能继续移动。

炸弹可以在任意时刻、位置、时间被安装;特别地,同一时刻(和/或)同一位置可能存在多个炸弹。

求出抵达城市的僵尸数量。

输入格式

第一行,三个正整数 n,m,kn,m,k1n,m,k2001\le n,m,k\le 200)。

接下来 kk 行,每行三个整数 x,r,tx,r,t1xn1\le x\le n0rn0\le r\le n1t5001\le t\le 500),描述一个炸弹,其中:

  • 炸弹安装在离窝 xx 米处;
  • 炸弹的爆炸半径为 rr 米;
  • 炸弹的安装时刻为 tt 秒末。

输出格式

输出一行一个整数:抵达城市的僵尸数量。

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

提示

样例解释

样例一解释如下表。

时刻(第 ii 秒末) 僵尸窝内 通往城市的路上 城市内
初始状态 {z,z,z}\{z, z, z\} (0,0,0,0,0,0)(0, 0, 0, 0, 0, 0) {}\{\}
11 {z,z}\{z, z\} (z,0,0,0,0,0)(z, 0, 0, 0, 0, 0)
22 {z}\{z\} (z,z,0,0,0,0)(z, z, 0, 0, 0, 0)
(z,z,0,0,0,0)(z, \underline{z, \mathbf{0}, 0}, 0, 0)
(z,0,0,0,0,0)(z, 0, 0, 0, 0, 0)
33 {}\{\} (z,z,0,0,0,0)(z, z, 0, 0, 0, 0)
44 (0,z,z,0,0,0)(0, z, z, 0, 0, 0)
55 (0,0,z,z,0,0)(0, 0, z, z, 0, 0)
66 (0,0,0,z,z,0)(0, 0, 0, z, z, 0)
77 (0,0,0,0,z,z)(0, 0, 0, 0, z, z)
(0,0,0,0,z,z)(0, 0, 0, 0, \underline{\bf z}, z)
(0,0,0,0,0,z)(0, 0, 0, 0, 0, z)
88 (0,0,0,0,0,0)(0, 0, 0, 0, 0, 0) {z}\{z\}
(0,0,0,0,0,0)(\underline{0, 0, 0, \mathbf{0}, 0, 0})
(0,0,0,0,0,0)(0, 0, 0, 0, 0, 0)

子任务

子任务编号 满分 限制
11 13 13 m=1m=1
22 27 27 k=1k=1
33 30 30 无额外约束