CSU——2148: 梦皮神

真的是,月赛竟然爆零了。什么玩意,卡D题卡的跟什么一样,傻逼了。

Description

Wells最近经常做一些有皮神出现的梦。

在这一次梦中Wells把皮神(Pikachu)弄丢了,Wells在一个正 N 边形区域的中心开始自闭,Wells想找回皮神,同时皮神也在尝试找回Wells。

皮神为了确保不会找不到Wells,皮神在正 NN 边形最外围的每个顶点上都放置了一个分身。分身按照顺时针方向,用 1...N1...N 标号,每个分身 ii 都会朝 i+1i+1 号分身以一个固定的速度移动,移动方向会随着 i+1i+1 位置变化而变化,一直到某个分身在运动时视线中出现Wells,皮神才会停下来,并扑上去给Wells一个Warming的抱抱(还可以顺便电几下……)。

现在,皮神想知道,最糟糕的情况下她需要多少时间才能够找回Wells。

Input

多组数据,组数不超过 10001000 组

对于每组数据给出一行,每行三个整数 N,A,VN,A,V 分别表示正多边形区域的边数,正多边形区域的边长, 皮神的每个分身移动的速度

N<=300,A<=400000,V<=10000N<=300,A<=400000,V<=10000

Output

对于每组数据输出一行,每行包含一个实数,表示最坏情况下皮神寻找的时间,保留小数点后 55 位。

当答案的绝对误差或者相对误差小于 0.010.01 % ,即10−410−4 被认为与答案相同。

ps:不必纠结单位的问题

Sample Input

3 10 5
4 20 8

Sample Output

1.33333
2.50000

这题是一题物理题,做的时候根本都没看,就跳过去了。

最坏情况下中心的人显然是在原地等皮神的     点在移动的过程中始终保持着原来的形状,即正 N 边形。因为它们 都是以顺时针的点作为基准,而且移动速度完全一样,所以整个图形是个类似 中心对称的形状。 这样显然所有点同时到达中心,而且到达中心的时间就是所有点相遇的时间。看图:

CSU——2148: 梦皮神_第1张图片

我们分析其中相邻的两个点。将 A 与 B 的移动方向关于 AB 线段正交分 解,AB 相互靠近的速度可以分为两个部分,一部分为 A 靠近的速度,即为 A 原 本的速度,另一部分为 B 远离的速度,即 B*cos(a)的速度(a 指 A 与 B 速度的 夹角)。而 B 分解出来的另一个关于线段 AB 垂直的速度,对于我们要考虑的问 题没有影响,仅仅影响了偏转角度,所以没有分析价值,直接忽略。     由于题目 已给出边数,速度间的夹角可以求出。问题就转化成了一个简单的直线上的追及问题。

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long LL;
const int maxn=205;
const double eps=1e-8;
const double pi=acos(-1.0);
const int MOD=10056;
double n,a,v;

int main()
{
    while(scanf("%lf %lf %lf",&n,&a,&v)!=EOF)
    {
        double angle=2*pi/n;
        double t=a/(v-v*cos(angle));
        printf("%.5f\n",t);
    }
	return 0;
}

/**********************************************************************
	Problem: 2148
	User: jk1601zr
	Language: C++
	Result: AC
	Time:4 ms
	Memory:2112 kb
**********************************************************************/

 

你可能感兴趣的:(CSUOJ)