#CSP202309A. 坐标变换(其一)

坐标变换(其一)

题目来自第 31 次 CSP 认证 T1,评测使用自造高质量复刻数据。我们承认原始题面与大样例版权均归中国计算机学会(CCF)所有,因此题面与评测服务均免费对外开放。如果您认为我们侵犯了您的权益,可联系我们。

时间限制: 1.0 秒

空间限制: 512 MB

题目描述

对于平面直角坐标系上的坐标 (x,y)(x, y),小 P 定义了一个包含 nn 个操作的序列 T=(t1,t2,⋯ ,tn)T = ( t_1, t_2, \cdots, t_n )。其中每个操作 tit_i(1≤i≤n1 \leq i \leq n)包含两个参数 dxidx_i 和 dyidy_i,表示将坐标 (x,y)(x, y) 平移至 (x+dxi,y+dyi)(x + dx_i, y + dy_i) 处。

现给定 mm 个初始坐标,试计算对每个坐标 (xj,yj)(x_j, y_j)(1≤j≤m1 \leq j \leq m)依次进行 TT 中 nn 个操作后的最终坐标。

输入格式

从标准输入读入数据。

输入共 n+m+1n+m+1 行。

输入的第一行包含空格分隔的两个正整数 nn 和 mm,分别表示操作和初始坐标个数。

接下来 nn 行依次输入 nn 个操作,其中第 ii(1≤i≤n1 \leq i \leq n)行包含空格分隔的两个整数 dxi,dyidx_i,dy_i。

接下来 mm 行依次输入 mm 个坐标,其中第 jj(1≤j≤m1 \leq j \leq m)行包含空格分隔的两个整数 xj,yjx_j,y_j。

输出格式

输出到标准输出。

输出共 mm 行,其中第 jj(1≤j≤m1 \leq j \leq m)行包含空格分隔的两个整数,表示初始坐标 (xj,yj)(x_j, y_j) 经过 nn 个操作后的位置。

3 2
10 10
0 0
10 -20
1 -1
0 0
21 -11
20 -10

样例 1 解释

第一个坐标 (1,−1)(1, -1) 经过三次操作后变为 (21,−11)(21, -11);第二个坐标 (0,0)(0, 0) 经过三次操作后变为 (20,−10)(20, -10)。

子任务

全部的测试数据满足:n,m≤100n, m \leq 100,所有输入数据(x,y,dx,dyx, y, dx, dy)均为整数且绝对值不超过 10510^{5}。