zoukankan      html  css  js  c++  java
  • hdu 3044 Dog and dog

    http://acm.hdu.edu.cn/showproblem.php?pid=3044

    当初我看到它的公式这么复杂,所以就一下子忽略这题了,想起来还真有点后悔。

    好的,我翻译一下这一的意思吧!其实就是告诉你两个人和一条狗各时刻的瞬时速度,让你求出两人相遇的时候狗跑了多长的距离。当然,这里的相遇只需要两人相距10m以内。这个看上去很复杂的积分题如果在你做的时候注意一些细节,那么你就可以瞬间秒杀它了。
     
    我的做法是在积分的过程中,把sin(sin2t)sin(cos2t)看做一个整体,假设是间接时间x(因为两者是一一对应的)。那么,此时的两个人对其速度和的积分就只是积v=v1sin(1)/x,最后在两人相遇前,所用的间接时间x=e(l1-10)/t
    同理,对狗的速度的积分将变成v=v2cos(1)*1.55741/x,最后积得间接时间x内狗跑的距离s=v2cos(1)*1.55741*ln x。
    整理可得,狗在两人相遇前最多能跑的距离为s=v2cos(1)*1.55741*(l1-10)/v1/sin1。然后就是比较数据给出狗跑的最长距离就可以得出答案了。
     
     
    View Code
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<stdlib.h>
     4 #include<string.h>
     5 
     6 int main()
     7 {
     8     int T;
     9     double s, l1, l2, v1, v2;
    10 
    11     scanf("%d", &T);
    12     while(T--)
    13     {
    14         scanf("%lf%lf%lf%lf", &l1, &l2, &v1, &v2);
    15         s=cos(1)*1.55741*v2*(l1-10)/v1/sin(1);
    16         if(s<0)printf("0\n");
    17         else if(s>l2)printf("%.0lf\n", l2);
    18         else printf("%.0lf\n", s);
    19     }
    20     return 0;
    21 }
     
    written by Lyon
  • 相关阅读:
    java线程池及创建多少线程合适
    消息队列消息积压了怎么办?
    Redis线程模型
    redis单线程如何支持高并发
    基于redis实现分布式锁
    PHP面试总结
    【转】Redis入门
    面试常考之二叉树
    计算机网络之面试常考
    操作系统之面试常考
  • 原文地址:https://www.cnblogs.com/LyonLys/p/hdu_3044_Lyon.html
Copyright © 2011-2022 走看看