BNUOJ 36012 magic

来源:互联网 发布:js 判断是否等于nan 编辑:程序博客网 时间:2024/06/05 09:36

魔法师Silly Hook正在表演一个神奇的魔术,他变出了他自己的N个分身,并成正N边形分布,他本身处于这个正N边形的中心,正N边形的边长为A。然后,每个分身都会朝顺时针方向下一个分身以一个相同的固定的速度V移动,移动方向会随着下一个分身的位置变化而变化,最终所有分身都将到达正N边形的中心,也就是回到Silly Hook本身,表演结束。

Silly Hook计划在比利时埃诺省Silly市巡回演出,他想提前知道对于每次表演需要多少时间。

Input

多组数据,到EOF结束。

每组数据一行三个整数N,A,V,分别表示 每次表演的分身个数,分身分布的正N边形的边长,每个分身移动的速度。

N ≤ 300 , A ≤ 400000 , V ≤ 10000 , 答案 ≤ 10000000 , 数据组数 ≤ 10

Output

每组数据一个实数,表示最后一个分身到达本身的时间,保留小数点后5位。

Sample Input

3 10 54 20 8

Sample Output

1.333332.50000

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

物理题~

这是什么啊……

因为所有人都是旋转对称的,所以我们只取其中两人来看。假设A一直在追B,那么我们以A所在区域的边的方向分解B速度的方向,这样,另一个方向就是没有用的,相当于一个追及问题,直接求就可以了~


#include<cstdio>#include<iostream>#include<cmath>using namespace std;#define pi acos(-1)double n,a,v;int main(){while(scanf("%lf%lf%lf",&n,&a,&v)!=EOF) printf("%.5f\n",a/(v+v*cos(pi*(n-2)/n)));return 0;}


原创粉丝点击