魔法师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
每组数据一行三个整数N,A,V,分别表示 每次表演的分身个数,分身分布的正N边形的边长,每个分身移动的速度。
N ≤ 300 , A ≤ 400000 , V ≤ 10000 , 答案 ≤ 10000000 , 数据组数 ≤ 10
Output
每组数据一个实数,表示最后一个分身到达本身的时间,保留小数点后5位。
Sample Input
3 10 5 4 20 8
Sample Output
1.33333 2.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;
}