#P10801. [CEOI2024] 海战
[CEOI2024] 海战
题目描述
题目译自 CEOI 2024 Day1 T1「Naval battle」
捷克海军司令官翁德拉刚刚晋升为大元帅,正享受着新职位的安稳,却突然被政府通知海军将被裁撤。
翁德拉决心证明捷克海军的重要性。他通过间谍得知,一场四国海军巨舰对决即将展开。如果能赢得这场战役,无疑能向政府有力地展示海军价值。
然而,捷克海军既无战舰也无港口。但翁德拉想到,如果他的间谍能夺取几艘参战舰艇,或许还有一线生机。关键是,如何预知哪些船能在这场海战中幸存下来呢?
海战规则如下:
- 战前,第 艘战舰位于坐标 处,其中 和 均为偶数。每艘战舰隶属于北方、南方、东方或西方舰队之一。
- 海战分回合进行。每回合:
- 每艘战舰同时向其所属舰队方向移动一格。
- 如果两艘或以上战舰占据同一格,它们将相撞沉没,从海图上消失。
- 当不再发生碰撞时,海战结束。存活的战舰是指海战结束后仍留在海图上的战舰。
各舰队战舰的移动方向及坐标变化如下:
- 北方舰队: 坐标减
- 南方舰队: 坐标加
- 东方舰队: 坐标加
- 西方舰队: 坐标减
输入格式
第一行输入一个整数 ,代表参与海战的舰船总数。 接下来是 行,每行包含三个用空格隔开的整数 。 和 表示第 艘舰船的初始位置,字符 表示第 艘舰船所属舰队的方向,它可以是 N
、S
、E
或 W
之一。
初始时没有两艘舰船的坐标相同。换句话说,对于任何两艘不同的舰船 和 ,它们的横坐标 和 不可能同时相等,纵坐标 和 也不可能同时相等。
输出格式
对于每艘存活的战舰,单独输出一行,包含该舰船的编号 。你可以按照任何顺序输出幸存舰船的编号。
如果没有存活的战舰,则输出为空。
7
0 6 E
0 8 E
2 4 E
4 2 S
6 0 S
6 2 S
6 4 S
7
5
4 0 S
0 2 E
2 2 E
4 4 N
6 6 W
2
5
提示
样例解释 1
初始战舰分布如下图:
海战过程:
- 第 回合,战舰 和 在 处相撞。
- 第 回合,战舰 和 在 处相撞,战舰 和 在 处相撞。
最终仅剩战舰 存活。
样例解释 2
初始战舰分布如下图:
第 回合,战舰 、、 在 处相撞,战舰 和 存活。
数据范围与提示
对于所有输入数据,满足:
- ,且 均为偶数
详细子任务附加限制及分值如下表所示。
子任务 | 附加限制 | 分值 |
---|---|---|
为 S 或 E |
||
无附加限制 |