#P17713. Red Face 玩 pvz(game)
Red Face 玩 pvz(game)
背景
题目来源:【HT-122-Div.3】核桃 CSP-J 组模拟赛
Red Face 很喜欢玩 pvz(植物大战僵尸),有一天,它看到了一个不太一样的游戏。
题目描述
注意:本题的僵尸不会动!
在一个 的二维平面上,有豌豆射手和僵尸两种单位。规定 坐标增大方向为右,因此两个单位位于同一行,当且仅当它们的 坐标相同。
在一个草地上,每秒 Red Face 都有一次操作:
1 x y:在第 行第 列种植一个豌豆射手。2 x y z:在第 行第 列放置一个血量为 僵尸。
在这一次操作后,攻击规则如下:
- 每个豌豆射手在本轮中只会攻击一次。若其所在行的右边存在僵尸,则它会对右边第一个僵尸造成 点伤害。这里的“右边第一个僵尸”,指与该豌豆射手的 坐标相同、 坐标大于该豌豆射手,且 坐标最小的僵尸。
- 当某个僵尸在本轮被打死,即血量降至 或更低时:
- 该僵尸会立即消失;
- 若攻击该僵尸的次数超过了它被攻击前的剩余血量,则超过的攻击会在同一轮继续顺延,攻击其右边的下一个僵尸;若下一个僵尸也被打死,则多余的攻击会继续向右顺延;
- 已经完成攻击的豌豆射手在本轮中不会再次攻击。从下一轮开始,它们会改为攻击其右边新的第一个僵尸。
- 每轮攻击只执行一次。攻击结束后,输出当前所有存活僵尸血量的异或和。
输入格式
第一行输入一个数 表示操作次数。
接下来的 行输入三个或四个数,表示一次操作。
输出格式
对于每次操作,在攻击结束后输出一行一个整数,表示当前所有存活僵尸的血量异或和。
当所有操作执行完毕后,输出所有仍存活的单位:
- 豌豆射手输出:
1 x y。 - 僵尸输出:
2 x y z,其中 为其剩余血量。
输出顺序要求如下:
- 所有豌豆射手在前;
- 同类单位按 升序;
- 若 相同,则按 升序。
3
1 1 2
2 3 2 24
1 2 2
0
23
21
1 1 2
1 2 2
2 3 2 21
10
2 1 1 50
2 3 1 50
1 2 1
1 4 1
1 5 1
2 8 1 50
1 7 1
1 6 1
2 1 2 50
1 2 2
50
0
3
2
29
44
50
55
14
11
1 2 1
1 2 2
1 4 1
1 5 1
1 6 1
1 7 1
2 1 1 50
2 1 2 50
2 3 1 42
2 8 1 33
4
2 4 1 4
1 2 1
1 3 1
2 8 1 2
4
3
1
1
1 2 1
1 3 1
2 8 1 1
提示
样例解释
对于样例 :
- 第一秒:在 处种植了一个豌豆射手,没有僵尸,所以豌豆射手不攻击。
- 第二秒:在 处放置了一个僵尸,此时豌豆射手攻击一次僵尸,僵尸血量为 。
- 第三秒:在 处放置了一个豌豆射手,此时两个豌豆射手各攻击一次僵尸,僵尸血量为 。
:::info[对于样例 :]
- 在 处放置了一个血量为 的僵尸,血量异或和为 。
- 在 处放置了一个血量为 的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手,这个豌豆射手攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手, 处豌豆射手攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手, 处豌豆射手攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个血量为 的僵尸, 处豌豆射手攻击了 处的僵尸, 处豌豆射手各攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手, 处豌豆射手攻击了 处的僵尸, 处豌豆射手各攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手, 处豌豆射手攻击了 处的僵尸, 处豌豆射手各攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个血量为 的僵尸, 处豌豆射手攻击了 处的僵尸, 处豌豆射手各攻击了 处的僵尸,血量异或和为 。
- 在 处放置了一个豌豆射手, 处豌豆射手攻击了 处的僵尸, 处豌豆射手各攻击了 处的僵尸,血量异或和为 。 :::
对于样例 :
请注意:僵尸如果在某一轮被打死了,它左边如果还有豌豆会打到其右边的僵尸上。
数据规模与约定
本题采用捆绑测试和子任务依赖。
::cute-table{tuack} | 子任务 | | | 特殊性质 | 分值 | 子任务依赖 | | :----: | :----: | :------: | :------: | :--: | :--------: | | | | | A | | 无 | | | | | 无 | | 无 | | | | | ^ | | | | | ^ | | ^ | | | | | | | ^ | | | | | ^ | | B | | | | | ^ | ^ | C | | | | | ^ | ^ | 无 | | |
特殊性质:
- :是样例。
- :豌豆射手不超过 个。
- :僵尸不超过 个。
对于 的数据,保证:
- 豌豆射手和僵尸的坐标互不相同。