#1619. 白草净华
白草净华
白草净华
题目背景
虚空系统覆盖着须弥
为了方便,可以把整个虚空系统抽象成一个平面直角坐标系
题目描述
纳西妲所在的位置为原点 (0,0),所有的虚空终端都有自己对应的坐标 (x, y)。 身为草神,纳西妲拥有以下几项能力:
1、把所有的终端围绕自己顺时针旋转 90 度。
2、把所有的终端围绕自己逆时针旋转 90 度。
3、把所有的终端关于一条垂直于 x 轴的直线对称。
4、把所有的终端关于一条垂直于 y 轴的直线对称。
纳西妲会施展很多次能力,现在她想知道在施展某一次能力之后,某一个终端的具体的坐标。
输入格式
第 1 行一个正整数 n ,表示终端的数量。
接下来 n 行,每行两个整数 xi, yi 表示标号为 i 的终端的坐标。
第 n + 2 行一个正整数 m,表示纳西妲施展能力的次数。
接下来 m 行,首先输入一个整数 opi 。
如果 3 <= opi <= 4 ,再输入一个整数 zi 。
具体地,若 opi = 1 ,表示将所有的终端顺时针旋转 90 度。
若 opi = 2 ,表示将所有的终端逆时针旋转 90 度。
若 opi = 3 ,表示将所有的终端关于直线 x = zi 对称。
若 opi = 4 ,表示将所有的终端关于直线 y = zi 对称。
第 n + m + 3 行一个整数 q,表示纳西妲询问的次数。
接下来 q 行每行两个整数 ai, bi,表示纳西妲要询问第 ai 次操作后编号为 bi 的终端的坐标。
输出格式
共 q 行,每行两个整数表示询问的终端的坐标。
样例 #1
样例输入 #1
3
1 2
3 4
0 0
3
1
3 1
4 0
3
1 1
1 3
2 3
样例输出 #1
2 -1
0 0
2 0
提示
对于 20% 的数据,n, m, q <= 10^3, 0 <= |xi|, |yi|, |zi| <= 10^3。
对于另外 10% 的数据,1 <= opi <= 2。
对于另外 10% 的数据,3 <= opi <= 4。
对于另外 20% 的数据,n, m, q <= 10^5。
对于 100% 的数据,n, m, q <= 10^6, 0 <= |xi |, |yi |, |zi| <= 10^8, 1 <= opi <= 4,1 ≤ ai ≤ m, 1 <= bi ≤ n。
因测试数据太大,测试点只有前60%的数据。