[NAPC-#1] Stage2 - Darkness

Luogu
IDLGP9430
Time2000ms
Memory256MB
DifficultyP3
O2优化
有 $n$ 支军队分布在各地,可以看作在一个平面直角坐标系内。他们都受 kid 的统一指挥,kid 共发出 $m$ 条命令。 命令有如下几种: - `1 p q` 表示把**每支**军队的位置从 $(x_i,y_i)$ 移到 $(x_i+p,y_i+q)$。 - `2 i`,表示**第 $i$ 支军队**的位置对直线 $y=x$ 作轴对称变换(即交换 $x_i$ 与 $y_i$ 的值)。 - `3 i`,表示查询第 $i$ 支军队现在所处的位置(即输出此时的 $x_i$ 与 $y_i$)。 **请注意 `1` 与 `2` 命令的操作对象不同,前者为全体军队,后者为单支军队。** 本来 kid 可以直接拿望远镜看的,但是天太黑了,只能拜托你编写一个程序告诉他了。 ## Input 第一行两个正整数 $n,m$。 接下来 $n$ 行,第 $i$ 行两个整数 $a_i,b_i$ 表示第 $i$ 支军队的初始位置 $(x_i,y_i)=(a_i,b_i)$。 接下来 $m$ 行,每行两到三个整数,表示 kid 发出的一条命令。具体地,对于每条命令,先有一个正整数 $op$ 表示命令类型; - 如果 $op=1$,那么后面有两个整数 $p,q$,表示把**每支**军队的位置从 $(x_i,y_i)$ 移到 $(x_i+p,y_i+q)$。 - 如果 $op=2$,那么后面有一个正整数 $i$,表示**第 $i$ 支军队**的位置对 $y=x$ 做轴对称变换。 - 如果 $op=3$,那么后面有一个正整数 $i$,表示查询第 $i$ 支军队现在所处的位置。 ## Output 对于每次 kid 发出的一条 `3` 命令,输出一行两个整数 $x_i,y_i$ 表示第 $i$ 支军队现在所处的位置。 [samples] ## Background > ![](https://cdn.luogu.com.cn/upload/image_hosting/y68eurqf.png) ## Note ### 【数据范围】 该题共有 $10$ 个测试点,每个测试点等分。 - 对于 $20\%$ 的数据,$n,m\leqslant 1000$。 - 对于另外 $30\%$ 的数据,保证没有 `2` 命令。 对于 $100\%$ 的数据,$1\leqslant n\leqslant 10^5$,$1\leqslant m\leqslant 5\times10^5$,$|a_i|,|b_i|,|p|,|q|\leqslant 10^3$,$1\leqslant i\leqslant n$,$op\in\{1,2,3\}$。 ### 【样例解释】 | 时间 | $(x_1,y_1)$ | $(x_2,y_2)$ | $(x_3,y_3)$ | | :-: | :-: | :-: | :-: | | 初始时 | $(1,2)$ | $(2,5)$ | $(6,2)$ | | 第 $2$ 次命令后 | $(2,6)$ | $(3,9)$ | $(7,6)$ | | 第 $4$ 次命令后 | $(2,6)$ | $(3,9)$ | $(6,7)$ | | 第 $6$ 次命令后 | $(-7,5)$ | $(-6,8)$ | $(-3,6)$ |
Samples
Input #1
3 7
1 2
2 5
6 2
3 2
1 1 4
3 3
2 3
3 1
1 -9 -1
3 3
Output #1
2 5
7 6
2 6
-3 6
API Response (JSON)
{
  "problem": {
    "name": "[NAPC-#1] Stage2 - Darkness",
    "description": {
      "content": "有 $n$ 支军队分布在各地,可以看作在一个平面直角坐标系内。他们都受 kid 的统一指挥,kid 共发出 $m$ 条命令。 命令有如下几种: - `1 p q` 表示把**每支**军队的位置从 $(x_i,y_i)$ 移到 $(x_i+p,y_i+q)$。 - `2 i`,表示**第 $i$ 支军队**的位置对直线 $y=x$ 作轴对称变换(即交换 $x_i$ 与 $y_i$ 的值)。 - ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9430"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "有 $n$ 支军队分布在各地,可以看作在一个平面直角坐标系内。他们都受 kid 的统一指挥,kid 共发出 $m$ 条命令。\n\n命令有如下几种:\n\n- `1 p q` 表示把**每支**军队的位置从 $(x_i,y_i)$ 移到 $(x_i+p,y_i+q)$。\n- `2 i`,表示**第 $i$ 支军队**的位置对直线 $y=x$ 作轴对称变换(即交换 $x_i$ 与 $y_i$ 的值)。\n- ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments