zoukankan      html  css  js  c++  java
  • BestCoder22 1003.NPY and shot 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5144

    题目意思:有个人抛物体,已知抛的速度和高度,问可以抛到的最远距离是多少。即水平距离。

      做的时候是抄公式的,居然过了,幸运幸运............

      

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cmath>
     4 #include <cstring>
     5 #include <algorithm>
     6 using namespace std;
     7 
     8 const double g = 9.8;
     9 
    10 int main()
    11 {
    12     int T;
    13     double h, v;
    14     while (scanf("%d", &T) != EOF)
    15     {
    16         while (T--)
    17         {
    18             scanf("%lf%lf", &h, &v);
    19             double tmp = sqrt(v*v + 1ll * 2 * g * h);
    20             double t = tmp / g;
    21             double ans = t * v;
    22             printf("%.2lf
    ", ans);
    23         }
    24     }
    25     return 0;
    26 }
    View Code

      乌冬子做的比较正规,是用三分做的,还有浮点精度控制,值得学习 ^_^  (未经他允许就盗他版权,应该不会怪我的......)

      

     1 #include <algorithm>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cmath>
     5 #include <iostream>
     6 #include <map>
     7 #include <numeric>
     8 #include <vector>
     9 
    10 using namespace std;
    11 
    12 const double EPS = 1e-8;
    13 const double PI = acos(-1.0);
    14 const double G = 9.8;
    15 
    16 int h, v;
    17 
    18 double F(double ang)
    19 {
    20   double hv = cos(ang)*v;
    21   double vv = sin(ang)*v;
    22   double t1 = vv/G;
    23   double t2 = sqrt(2*(vv*t1-G*t1*t1/2.0+h)/G);
    24   return hv*(t1+t2);
    25 }
    26 
    27 int main()
    28 {
    29   int kase;
    30   scanf("%d", &kase);
    31   while (kase--) {
    32     scanf("%d%d", &h, &v);
    33     double l = 0.0, r = PI/2;
    34     while (l < r-EPS) {
    35       double d = (r-l)/3.0;
    36       double ll = l+d;
    37       double rr = r-d;
    38       if (F(ll) < F(rr))
    39         l = ll;
    40       else
    41         r = rr;
    42     }
    43     printf("%.2f
    ", F(l));
    44   }
    45   return 0;
    46 }

      

  • 相关阅读:
    06HTML和CSS知识点总结(六)
    05HTML和CSS知识点总结(五)
    webpack警告解除(WARNING in configuration The 'mode' option has not been set)
    如何Altium Designer AD输出元件清单及按照不同数值分类
    M57962
    艾科 驱动电路分析
    矢量旋度的散度恒为零
    迟滞比较器
    与非门SR锁存器
    寄存器与锁存器的区别
  • 原文地址:https://www.cnblogs.com/windysai/p/4162015.html
Copyright © 2011-2022 走看看