#Z0019. Asm.Def的命令
Asm.Def的命令
题目描述
“直升机十分钟后到达!冲冲冲!”
Asm.Def和两名特战队员抱着步枪,在烟雾的掩护下冲出计算中心大门。一旁的队友连续射出几枚枪榴弹,压制住了机器人的火力。
Asm.Def蹲在喷泉水池后,伸出步枪向外扫射——这成功地吸引了机器人的注意,一排子弹打在喷泉里,溅起朵朵水花。他用余光看到,突击组正按照计划,拎起反坦克火箭筒,弯腰冲向广场侧面。
Asm.Def需要重新部署他的小队形成防御阵型。广场可以看做一个二维坐标平面,小队有n个人,从1到n编号,一开始i号人的位置是(0,i)。Asm.Def可以向小队成员下达如下三种命令:
0 a:查询a号人的位置。其中1<=a<=n。
1 a b dx dy:将a~b号人的x坐标同时加上dx,y坐标加上dy。其中1<=a<=b<=n。dx、dy都是整数。
2 a b deg:将a~b号人的位置同时绕原点逆时针旋转deg角度。其中1<=a<=b<=n。deg是整数。
输入格式
第一行两个整数n,q,代表共n个人,q个操作。
接下来q行,每行一个命令,是上述三种格式之一。
输出格式
对每个0命令,输出一行两个实数x,y,表示a号人的坐标。保留一位小数。
样例
####输入样例
5 6
1 1 3 -2 0
0 2
2 1 5 90
0 1
0 2
0 5
####输出样例
-2.0 2.0
-1.0 -2.0
-2.0 -2.0
-5.0 0.0
```
## 数据范围与提示
对于40%的数据,只有0和1命令,n,q<=1000.
对于另外30%的数据,只有0和1命令,n,q<=10^5.
对于剩下30%的数据,包含0、1、2三种命令,n,q<=10^5.
对于100%的数据,所有坐标不超过10^5.
提示:注意本题时限