F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

探索行星

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16    Accepted Submission(s): 3
Special Judge


Problem Description
有些人的梦想,说出来是注定会被人嘲笑的,但世界终究因他们的坚持而不同。

年青人在什么资源都没有的情况下,仅仅凭借热爱,也是可以让火箭发射成功的,也是可以让人类离星际飞船的实现更进一步的!

楚龙飞博士,中国第一家私营航天公司LinkSpace创始人。2019年3月底,楚博士的团队发射的中国第一枚可回收火箭首飞成功。

2050年,人类开始了对更广袤星际空间的探索,我们需要控制一辆登陆某个遥远行星的漫游车。假设这颗行星是一个半径为 $1$ 的球体,球心为 $(0,0,0)$。类似地球,我们引入赤道,经度,北极点的概念。假设赤道上经度 $0 $ 度的坐标为 $(1,0,0)$ ,赤道上经度 $90$ 度的坐标为 $(0,1,0)$,北极点的坐标为 $(0,0,1)$。

一开始漫游车在北极点,也就是 $(0,0,1)$ 的位置,面向经度 $0$ 度的方向。你可以给漫游车传达一些命令:沿着当前方向往前行驶 $x$ 的距离,或者原地逆时针旋转 $y$ 度。漫游车可以精确地执行往前行驶的命令,但在执行旋转操作的时候会有一定的误差,假设这次操作的误差是 $z$,它可能会随机地在 $[y-z,y+z]$ 选择一个角度,然后旋转。


我们想知道,经过每个命令之后,漫游车会离预定的目的地差多远。所以我们要求出漫游车距离预定的目的地的欧几里得距离的平方的期望。这里的预定的目的地为按没有误差执行这些操作得到的位置。两个点 $(x_1,y_1,z_1)$, $(x_2,y_2,z_2)$ 的欧几里得距离的平方为 $(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2$。
 

Input
第一行一个正整数 $T~(T\leq 100)$ 表示数据组数。
对于每组数据,第一行一个整数 $n~(1\leq n\leq 100)$ 表示命令个数。
接下来 $n$ 行,每行为 $1~x$(向前行驶)或者 $2~y~z$(旋转)表示一条命令,其中 $x, y, z$ 为实数,$0\leq x,y,z\leq 1000$,并且小数点后位数不超过2位,这里的 $y$ 和 $z$ 都由弧度表示。
 

Output
对于每组数据,输出 $n$ 行数字,要求相对或者绝对精度误差不超过 $10^{-5}$ ,表示每次操作之后的答案。
 

Sample Input
2 3 2 0 1.57 1 0.01 1 1.56 5 1 123.41 2 40.04 0.90 1 2.97 2 352.77 0.28 1 195.21
 

Sample Output
0.000000000000000 0.000072609085008 0.726114593134157 0.000000000000000 0.000000000000000 0.007559427669530 0.007559427669530 0.034853685442631
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-06-26 16:39:29, Gzip enabled