luogu#P10137. [USACO24JAN] Walking in Manhattan G

[USACO24JAN] Walking in Manhattan G

题目描述

Farmer John 和他的 QQ1Q21051\le Q\le 2\cdot 10^5)头奶牛在曼哈顿度假,但奶牛们逃跑了,现在正在城市里自由走动!曼哈顿很大——大到它的 NN1N21051\le N\le 2\cdot 10^5)条道路在 xyx-y 平面上无限延伸,但简单的是,这些道路都完全水平或垂直。每条水平和垂直道路都可以用形式为 y=ciy=c_ix=cix=c_i 的方程表示,其中 cic_i0010910^9 范围内的整数。

Farmer John 准确地知道每头奶牛从哪里开始行走,以及她们多久之前逃跑的。奶牛们很容易被预测,因此每头奶牛都是按照以下模式行走:

  • 她们只会以每秒一个单位的速度向北(+y+y)或向东(+x+x )行走。
  • 如果她们当前在一条道路上,她们会继续沿着道路的方向行走。
  • 如果她们在两条道路的交叉口处,如果她们行走了偶数秒,则向北行走,否则向东行走。

给定曼哈顿的布局以及每头奶牛的信息,帮助 Farmer John 求出他的奶牛们现在在哪里!

输入格式

输入的第一行包含 NNQQ

以下 NN 行描述道路。每条道路由方向(HV)和坐标 cic_i 表示。输入保证道路各不相同。

以下 QQ 行描述奶牛。每头奶牛由三个整数 (xi,yi,di)(x_i,y_i,d_i) 表示,意味着她们在 did_i 秒前从 (xi,yi)(x_i,y_i) 开始行走。输入保证 (xi,yi)(x_i,y_i) 位于某条道路上,且 0xi,yi,di1090\le x_i,y_i,d_i\le 10^9

输出格式

输出 QQ 行,其中第 ii 行包含第 ii 头奶牛当前的位置。

4 5
V 7
H 4
H 5
V 6
6 3 10
6 4 10
6 5 10
6 6 10
100 4 10
14 5
7 13
6 15
6 16
110 4

提示

样例解释 1

前两头奶牛经过的路径如下:

$(6, 3) \to (6, 4) \to (7, 4) \to (7, 5) \to (8, 5) \to \ldots \to (14, 5)$
$(6, 4) \to (6, 5) \to (7, 5) \to (7, 6) \to \ldots \to (7, 13)$

测试点性质

  • 测试点 242-4N,Q,ci,xi,yi,di100N,Q,c_i,x_i,y_i,d_i\le 100
  • 测试点 595-9N,Q3000N,Q\le 3000
  • 测试点 102010-20:没有额外限制。