#4344. 龙的追踪(Loong Tracking)

龙的追踪(Loong Tracking)

题目描述

小高创建了一个游戏,玩家在坐标平面上控制一条龙。龙由NN个部分组成,编号从11NN,其中第11部分被称为"头"。初始时,第ii部分位于坐标(i,0)(i,0)。按以下方式处理QQ个查询:

  1. 1 C:将头部向CC方向移动11个单位。这里,CCRRLLUUDD之一,分别表示xx轴正方向、xx轴负方向、yy轴正方向和yy轴负方向。除头部外的每个部分都会跟随前面的部分移动。也就是说,第ii部分(2iN)(2≤i≤N)会移动到第i1i-1部分移动前所在的坐标。

  2. 2 p:查询第pp部分的坐标。

输入格式

输入从标准输入中给出,格式如下:
NN QQ
query1query_1
\vdots
queryQquery_Q

每个查询是以下两种格式之一:
1 C1\ C
2 p2\ p

输出格式

输出qq行,其中qq是第二种查询的数量。第i行应包含用空格分隔的xxyy,其中(x,y)(x,y)是第ii个此类查询的答案。

样例

5 9
2 3
1 U
2 3
1 R
1 D
2 3
1 L
2 1
2 5
3 0
2 0
1 1
1 0
1 0

样例1解释

在处理第二种查询时,各部分的位置如下:

注意,多个部分可能存在于同一坐标。

数据范围

2N1062 ≤ N ≤ 10^6
1Q2×1051 ≤ Q ≤ 2×10^5
对于第一种查询,CCRRLLUUDD之一。
对于第二种查询,1pN1 ≤ p ≤ N,所有输入的数值都是整数。

来源

  • AtCoder ABC335C