zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    apply和call详解
    this用法
    jquery的each()详细介绍
    摹客食堂|你真的会做交付文档吗?
    资源分享|找不到素材?这份免费APP UI Kit资源大礼包送给你!
    功能播报|PRD可以在线审阅啦!让文档管理更轻松~
    工具推荐|2019年UI设计师必备工具清单
    案例分析|最佳倒数计时器设计分析【附原型实例】
    摹客食堂|新"葵花宝典"--用户体验设计知识大全
    灵感专题|2019年优秀网页设计作品赏析#9月
  • 原文地址:https://www.cnblogs.com/csushl/p/9498424.html
Copyright © 2011-2022 走看看