luogu#P8070. [BalticOI 2002 Day2] Moving Robots

[BalticOI 2002 Day2] Moving Robots

题目描述

一些机器人在二维平面上根据指令移动。机器人移动互不影响,甚至同一时刻同一点可能有多个机器人。

移动有两种:

  • S:向前一步。
    记当前位置为 (x,y)(x, y),当前方向为 CC:若 C=0C = 0 移至 (x+1,y)(x + 1, y);若 C=90C = 90 移至 (x,y+1)(x, y + 1);若 C=180C = 180 移至 (x1,y)(x - 1, y);若 C=270C = 270 移至 (x,y1)(x, y - 1)

  • T D:方向增加 DD
    即令当前方向 C(C+D)mod360C \gets (C + D) \bmod 360

给定各机器人预设的指令序列,移除一些指令使所有机器人最终位于同一位置,并最小化移除指令数。

输入格式

第一行一个整数 RR,表示机器人数。

接下来对于每个机器人:

  • 第一行四个整数 x,y,C,nx, y, C, n,表示初始位置、初始方向、指令序列长度。
  • 接下来 nn 行,每行一个指令,格式见题目描述。

输出格式

若能够使所有机器人最终位于同一位置,输出两行:

  • 第一行一个整数,表示最小移除指令数;
  • 第二行两个整数,表示在移除指令数最小的情况下最终位置坐标(若有多种可能答案输出任意一种即可)。

若无法使所有机器人最终位于同一位置,输出一行一个整数 1-1

注意:虽然 Special Judge 忽略行末回车与文末换行,但请不要输出多于 6464 个字符,否则会被判为 Wrong Answer。

2 
2 0 270 5 
S 
T 180 
S 
S 
S 
1 -1 0 8 
S 
S 
T 90 
S 
T 270 
S 
T 90 
S 

2 
2 1 

提示

样例说明

有两个机器人。第一个初始位于 (2,0)(2, 0),初始方向 270270,指令序列长度为 55;第二个初始位于 (1,1)(1, -1),初始方向 00,指令序列长度为 88。至少需要移除两个指令。例如移除第一个机器人第三个指令与第二个机器人第五个指令,此时最终位置为 (2,1)(2, 1)

数据范围

2R102 \le R \le 101n501 \le n \le 5050x,y50-50 \le x, y \le 50C,D{0,90,180,270}C, D \in \lbrace 0, 90, 180, 270 \rbrace,保证指令格式如题目描述。

提示

BalticOI 2002 Day2 C.

由于自定义计分脚本参数配置,暂不支持 AC WA TLE MLE 外的评测状态显示。如果你得到了此外任何一种评测状态,你将得到 UKE。

Subtask 设置与题目无关,仅为便于自定义积分脚本运行。