Logo Universal Online Judge

UOJ

时间限制:3 s 空间限制:128 MB

#2898. 神能(can)

统计

【问题描述】

——“队爷磊少,性行淑均,晓畅算法,试用于昔日,OL称之曰‘能’,是以众议举磊为爷。愚以为不会之题,悉以咨之,必能使水平提高,成为大佬。”

但是HZM问了他一道题他却不会了,为了保障他的名声,他偷偷来问你:

平面上有一个有 $n$ 段首尾相连的机械臂,初始放在y轴上。他们的起点固定在原点,每一段机械臂可以绕平面自由旋转。接下来有 $m$ 个操作,让你把 $i+1$ 这一段围绕 $i$ 旋转至逆时针 $\alpha^\circ$,输出每次操作后末尾点的位置。

【输入格式】

输入文件名为 can.in

第一行两个整数 $n,m$,分别表示机械臂段数和操作数。

第二行 $n$ 个整数表示每一段的长度。

接下来 $m$ 行,每行两个整数 $x$,$\alpha$。

【输出格式】

输出文件名为 can.out

$m$ 行,每一行输出两个实数表示操作后末尾点的位置,保留一位小数。

【输入输出样例1】

3 2
5 5 5
1 270
2 90
-10.0 5.0
-5.0 10.0

见选手目录下的 can1/can1.incan1/can1.ans

【样例解释1】

以上三张图分别表示初始或操作之后的位置。

【输入输出样例2】

见选手目录下的 can2/can2.incan2/can2.ans

大样例

【数据规模与约定】

对于所有测试点,$n,m \leq 10^5$,$l_i \leq 100$,$1 \leq x < n$,$0 \leq \alpha \leq 359$

对于 $30\%$ 的测试点,$n,m \leq 1000$。