• CSU OJ 2148 梦皮神


    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 % ,即10410−4 被认为与答案相同。

    ps:不必纠结单位的问题

    Sample Input

    3 10 5
    4 20 8
    

    Sample Output

    1.33333
    2.50000
    题解:这是一个追击问题,图形由大道小,直到为一个点,形状不变;可以考虑前一个追后一个,将速度分解:
    参考代码:
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 using namespace std;
     6 #define PI acos(-1)
     7 int main()
     8 {
     9     int N;
    10     double A,V,X;
    11     while(scanf("%d%lf%lf",&N,&A,&V)!=EOF)
    12     {
    13         X=PI*(N-2)/(2.0*N);
    14         if(N==3) printf("%.5lf
    ",A/(2.0*V*cos(X)*cos(X)));
    15         else printf("%.5lf
    ",A/(2.0*V*cos(X)*cos(X)));    
    16     }
    17     
    18     return 0;
    19 }
    View Code
  • 相关阅读:
    设置表单输入框中的提示信息
    动感图文轮显
    jquery插件之图片轮显(一)整理2011.02.24
    用sort()方法对数组的元素进行排序(可按字母升序降序与获得最大最小值)
    jquery插件之图片轮显(一)
    jquery插件之图片show and hide(一)
    Pdftk The PDF Toolkit
    error while loading shared libraries: libxcbaux.so.0: cannot open shared object file
    害人的RestoreDirectory
    Oracle CASE WHEN 用法介绍
  • 原文地址:https://www.cnblogs.com/csushl/p/9498424.html
Copyright © 2020-2023  润新知