真的是,月赛竟然爆零了。什么玩意,卡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 边形。因为它们 都是以顺时针的点作为基准,而且移动速度完全一样,所以整个图形是个类似 中心对称的形状。 这样显然所有点同时到达中心,而且到达中心的时间就是所有点相遇的时间。看图:
我们分析其中相邻的两个点。将 A 与 B 的移动方向关于 AB 线段正交分 解,AB 相互靠近的速度可以分为两个部分,一部分为 A 靠近的速度,即为 A 原 本的速度,另一部分为 B 远离的速度,即 B*cos(a)的速度(a 指 A 与 B 速度的 夹角)。而 B 分解出来的另一个关于线段 AB 垂直的速度,对于我们要考虑的问 题没有影响,仅仅影响了偏转角度,所以没有分析价值,直接忽略。 由于题目 已给出边数,速度间的夹角可以求出。问题就转化成了一个简单的直线上的追及问题。
#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <queue>
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
**********************************************************************/