P8070 [BalticOI 2002] Moving Robots (Day2)
题目描述
一些机器人在二维平面上根据指令移动。机器人移动互不影响,甚至同一时刻同一点可能有多个机器人。
移动有两种:
- `S`:向前一步。
记当前位置为 $(x, y)$,当前方向为 $C$:若 $C = 0$ 移至 $(x + 1, y)$;若 $C = 90$ 移至 $(x, y + 1)$;若 $C = 180$ 移至 $(x - 1, y)$;若 $C = 270$ 移至 $(x, y - 1)$。
- `T D`:方向增加 $D$。
即令当前方向 $C \gets (C + D) \bmod 360$。
给定各机器人预设的指令序列,移除一些指令使所有机器人最终位于同一位置,并最小化移除指令数。
输入格式
第一行一个整数 $R$,表示机器人数。
接下来对于每个机器人:
- 第一行四个整数 $x, y, C, n$,表示初始位置、初始方向、指令序列长度。
- 接下来 $n$ 行,每行一个指令,格式见题目描述。
输出格式
若能够使所有机器人最终位于同一位置,输出两行:
- 第一行一个整数,表示最小移除指令数;
- 第二行两个整数,表示在移除指令数最小的情况下最终位置坐标(若有多种可能答案输出任意一种即可)。
若无法使所有机器人最终位于同一位置,输出一行一个整数 $-1$。
注意:虽然 Special Judge 忽略行末回车与文末换行,但请不要输出多于 $64$ 个字符,否则会被判为 Wrong Answer。
说明/提示
#### 样例说明
有两个机器人。第一个初始位于 $(2, 0)$,初始方向 $270$,指令序列长度为 $5$;第二个初始位于 $(1, -1)$,初始方向 $0$,指令序列长度为 $8$。至少需要移除两个指令。例如移除第一个机器人第三个指令与第二个机器人第五个指令,此时最终位置为 $(2, 1)$。
#### 数据范围
$2 \le R \le 10$,$1 \le n \le 50$,$-50 \le x, y \le 50$,$C, D \in \lbrace 0, 90, 180, 270 \rbrace$,保证指令格式如题目描述。
#### 提示
[BalticOI](https://boi.cses.fi/contests.php) 2002 Day2 C.
由于自定义计分脚本参数配置,暂不支持 AC WA TLE MLE 外的评测状态显示。如果你得到了此外任何一种评测状态,你将得到 UKE。
Subtask 设置与题目无关,仅为便于自定义积分脚本运行。