码迷,mamicode.com
首页 > 其他好文 > 详细

#10016 灯泡(三角函数)

时间:2018-08-20 19:05:45      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:net   想法   lol   bsp   color   include   img   算法   比较   

【题目描述】

    

相比 wildleopard 的家,他的弟弟 mildleopard 比较穷。他的房子是狭窄的而且在他的房间里面仅有一个灯泡。每天晚上,他徘徊在自己狭小的房子里,思考如何赚更多的钱。有一天,他发现他的影子的长度随着他在灯泡和墙壁之间走到时发生着变化。一个突然的想法出现在脑海里,他想知道他的影子的最大长度。

技术分享图片

【题目链接】

    https://loj.ac/problem/10016

【算法】

    设对应的角度为θ,列出墙上有影子情况下函数关系:D+H-( (H-h)/tanΘ + DtanΘ)发现是对勾函数,数形结合讨论一波极值点位置和tanΘ范围的关系同时影子只有地上部分时显然长度递增。就不用三分法求极值点了。

【代码】

    

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int T;
 4 int main()
 5 {
 6     scanf("%d",&T);
 7     while(T--) {
 8         double H,h,D,ans;
 9         scanf("%lf%lf%lf",&H,&h,&D);
10         if(sqrt((H-h)/D)>=H/D) ans=h*D/H;
11         else if(sqrt((H-h)/D)<=(H-h)/D) ans=h;
12         else ans=D+H-2*sqrt((H-h)*D);
13         printf("%.3f\n",ans);
14     }
15     return 0;
16 }

 

#10016 灯泡(三角函数)

标签:net   想法   lol   bsp   color   include   img   算法   比较   

原文地址:https://www.cnblogs.com/Willendless/p/9507002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!