Skip to content

Latest commit

 

History

History
154 lines (120 loc) · 3.61 KB

statement.zh.md

File metadata and controls

154 lines (120 loc) · 3.61 KB

真空内爆弹

  • 参考时间限制:1.0 秒(评测环境与性能)。
  • 实际时间限制:标准程序在目标评测环境中处理最慢正式测试文件的基准时间的 2 倍,按 0.5 秒的倍数向上取整;若平台仅支持更粗的粒度,再向上取整到平台可设置值。
  • 内存限制:128 MB

背景故事

作战实验室正在模拟真空内爆弹对载具位置的影响。为了反复测试不同方案,研究员给载具编号,批量平移、翻转或旋转一段编号内的载具,并随时查询坐标。请维护整个模拟过程。

形式化问题描述

平面上有 $n$ 个点,按 $1$ 到 $n$ 编号,初始坐标为 $(x_i,y_i)$ .按输入顺序处理 $m$ 个操作。编号不随位置改变;区间 $[l,r]$ 指编号区间,两端都包含。

  • 0 l r a :将这些点从 $(x,y)$ 变为 $(x+a,y)$ .
  • 1 l r a :变为 $(x,y+a)$ .
  • 2 l r :关于 $x$ 轴对称,变为 $(x,-y)$ .
  • 3 l r :关于 $y$ 轴对称,变为 $(-x,y)$ .
  • 4 l r :关于直线 $x=y$ 对称,变为 $(y,x)$ .
  • 5 l r :关于直线 $x=-y$ 对称,变为 $(-y,-x)$ .
  • 6 l r b :绕原点逆时针旋转 $b$ 度。
  • 7 i :查询第 $i$ 个点的当前坐标。

旋转采用通常的直角坐标系,$x$ 轴向右,$y$ 轴向上。令 $\theta=b\pi/180$ ,则旋转结果为

$$\bigl(x\cos\theta-y\sin\theta,\ x\sin\theta+y\cos\theta\bigr)$$

左图把点2,1关于直线x=y对称到1,2;右图把同一个点逆时针旋转90度到负1,2

图 1:两幅图独立地从 $P=(2,1)$ 出发。A 图执行操作 4 ,B 图执行角度为 $90$ 的操作 6 ;圆点 P 是操作前的位置,方点 Q 是操作后的位置。

先输出各次查询的结果,全部操作结束后,再按编号顺序输出所有点的最终坐标。

输入格式

第一行两个整数 $n,m$ .接下来 $n$ 行,每行给出初始整数坐标 $x_i,y_i$ .之后 $m$ 行,按上述格式描述操作。

输出格式

每次 7 操作输出一行两个实数。全部操作结束后,再输出 $n$ 行,每行两个实数,表示对应点的最终坐标。

每个坐标的绝对误差不超过 $0.05$ 即可。输出行数为查询次数加 $n$ ,不是操作次数加 $n$ .

样例 1

输入

10 30
1470 7211
4180 -960
-2962 -5944
-9984 -6050
-6674 6625
-1462 -6774
-1042 -4576
-2533 1499
9729 5985
4800 179
5 4 10
2 6 10
4 5 6
5 4 9
5 4 8
0 3 4 63
5 1 1
6 2 6 99
0 4 8 35
4 6 10
5 1 2
7 7
4 3 5
4 1 7
0 9 10 87
1 5 10 -47
2 3 4
5 4 8
5 9 10
0 10 10 40
7 5
3 5 7
6 7 8 19
5 5 8
7 3
6 6 9 17
0 6 9 -38
3 3 6
2 1 10
6 3 7 46

输出

-1042.00 4611.00
-7581.21 -5534.39
6324.32 1933.46
7211.00 -1470.00
-294.28 4278.71
-3002.43 -5892.43
4646.96 -10709.75
-9297.98 1285.24
5216.82 4595.75
3868.25 2670.62
-2622.19 1421.68
11086.12 2948.46
266.00 4887.00

解释

前三行依次回答三个查询,后十行给出全部点的最终坐标。

样例 2

输入

2 6
2 1
-1 0
7 1
4 1 1
6 1 2 90
0 1 2 3
5 2 2
7 2

输出

2.00 1.00
1.00 -3.00
1.00 1.00
1.00 -3.00

解释

第一个点依次变为 $(1,2)$ 、$(-2,1)$ 、$(1,1)$ .第二个点最终为 $(1,-3)$ .

数据范围与保证

  • $1\le n,m\le50000$ .
  • 初始坐标满足 $\lvert x_i\rvert,\lvert y_i\rvert\le10000$ .
  • $1\le l\le r\le n$ ,$1\le i\le n$ ,$-100\le a\le100$ ,$0\le b\le360$ .
  • 所有输入量均为整数;允许没有查询,仍须输出全部最终坐标。

数据分组

分值比例 额外条件
100% 无额外条件