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 设置与题目无关,仅为便于自定义积分脚本运行。