#P2020. 银河战舰(madrid)
银河战舰(madrid)
【问题描述】
瑞奥和玛德利德是非常好的朋友。瑞奥平时的爱好是吹牛,玛德利德的爱好是戳穿瑞奥吹的牛。
这天瑞奥和玛德利德来到了宇宙空间站,瑞奥向玛德利德炫耀这个空间站里所有的银河战舰都是自己的。整个空间站可以看成一个无限大的二维平面,而每个战舰都可以看做一个点,在空间站中一共分布着N艘银河战舰。
玛德利德:“你说这些都是你的,那你让他们动一动啊”
瑞奥:“诶你看,那艘动了!”
玛德利德:“操作指令由我来发,一共有5种动的方法……”
瑞奥:“我觉得这样有失公正……”
【输入格式】
第一行一个正整数N,表示战舰的数量
接下来N行,每行两个实数,代表第i个战舰的x,y坐标
然后一个正整数M,代表调度的次数
接下来M行操作,每个操作都是如下类型的一种:
M l r p q:把编号在[l,r]区间内的战舰x坐标加上p,y坐标加上q
X l r:把编号在[l,r]区间内的战舰沿x轴翻转
Y l r:把编号在[l,r]区间内的战舰沿y轴翻转
O l r:把编号在[l,r]区间内的战舰沿直线y=x翻转
R l r a:把编号在[l,r]区间内的战舰绕原点逆时针旋转a°
【输出格式】
输出包括N行,代表着N艘战舰经过M次调度之后的坐标(保留两位小数)
【样例输入】
3 1 2 -2 2.5 0 -3 3 X 1 3 M 1 3 3 6 R 1 3 90
【样例输出】
-4.00 4.00
-3.50 1.00
-9.00 3.00
【数据范围与约定】
测试点编号 | N,M | 特殊性质1 | 特殊性质2 | 特殊性质3 |
---|---|---|---|---|
1 | ≤ 1000 | √ | √ | |
2 | ||||
3 | ||||
4 | ≤ 100000 | √ | √ | √ |
5 | ||||
6 | √ | |||
7 | ||||
8 | √ | |||
9 | ||||
10 |
特殊性质1:对于所有调度,保证l=1,r=n
特殊性质2:不存在形如O l r的操作
特殊性质3:不存在形如R l r a的操作
对于所有测试数据,保证输入的x,y坐标、p、q、a都最多保留两位小数,0≤a<360,任何时刻任何战舰的横纵坐标绝对值都不会超过10^5