#563. 坐标变换(其一)

    ID: 563 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>CCF CSP认证第 31 次CCF CSP软件能力认证基础算法模拟

坐标变换(其一)

问题描述

对于平面直角坐标系上的坐标 (x,y)(x,y),小 PP 定义了一个包含 nn 个操作的序列 T=(t1,t2,,tn)T=(t_1,t_2,\dots,t_n)。 其中每个操作 tit_i1in1\le i\le n)包含两个参数 dxidx_idyidy_i,表示将坐标 (x,y)(x,y) 平移至 (x+dxi,  y+dyi)(x+dx_i,\;y+dy_i)

现给定 mm 个初始坐标,要求对每个坐标 (xj,yj)(x_j,y_j)1jm1\le j\le m)依次执行序列 TT 中的所有 nn 个操作,输出最终的坐标位置。

输入格式

n+m+1n+m+1 行:

第一行包含两个正整数 nnmm,分别表示操作数和初始坐标个数。(1n,m1001 \le n, m \le 100)。 接下来 nn 行,第 ii 行包含两个整数 dxidx_idyidy_i,表示第 ii 个操作的平移向量。(105dxi,dyi105-10^5 \le dx_i, dy_i \le 10^5) 再接下来 mm 行,第 jj 行包含两个整数 xjx_jyjy_j,表示第 jj 个初始坐标。(105xj,yj105-10^5 \le x_j, y_j \le 10^5

输出格式

输出共 mm 行,第 jj 行包含两个整数,表示初始坐标 (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):按顺序平移 (+10,+10)(11,9)(+10,+10)\to(11,9)(+0,+0)(11,9)(+0,+0)\to(11,9)(+10,20)(21,11)(+10,-20)\to(21,-11)
  • 对第二个初始坐标 (0,0)(0,0):依次得到 (10,10)(10,10)(10,10)(10,10)(20,10)(20,-10)