HDU 1006 Tick and Tick
来源:互联网 发布:淘宝冲销量网站 编辑:程序博客网 时间:2024/05/21 07:26
这道题......感觉就是一道计算题了= =知道怎么算的能算出来就好了,不过一开始低估这个题了,把钟表想的是时针不动让分针先动一圈......好吧,那样太简单了,然后就开始算角速度,表示算了一张纸才把等式什么的捋清楚......不过最后还是没做出来= =不小心当成一个小时时针分针秒针相遇了,所以......这题弄了一天最后还是没弄出来,最后看的DISCUSS里的代码,才发现了这点错误,然后才修改过来(好吧,其实是大幅度的修改,因为代码少了个因素表示除了一开始列的式子全都改了= =).......
先发一下DISCUSS的代码链接:http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=4499&messageid=1&deep=0
额,具体这个怎么算貌似DISCUSS里面0o恋蓝o0 大神分析的也很清楚了......直接贴代码吧。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const double vh=1.0/120.0,vm=0.1,vs=6.0;double tmax(double a,double b,double c){ double t; t=a>b?a:b; if(t>c) return t; else return c;}double tmin(double a,double b,double c){ double t; t=a<b?a:b; if(t<c) return t; else return c;}int main(){ double n,sum,s,e,ans; double tsm,tsh,tmh,ssm,ssh,smh,esm,esh,emh; double st1,st2,st3,et1,et2,et3; int i; while(scanf("%lf",&n)!=EOF) { if(n==-1) break; sum=0.0; tsm=360.0/(vs-vm); tsh=360.0/(vs-vh); tmh=360.0/(vm-vh); //相遇时间 ssm=n/(vs-vm); ssh=n/(vs-vh); smh=n/(vm-vh); esm=360.0/(vs-vm)-ssm; esh=360.0/(vs-vh)-ssh; emh=360.0/(vm-vh)-smh; for(st3=smh,et3=emh;et3<=43200;st3=st3+tmh,et3=et3+tmh) { for(st2=ssh,et2=esh;et2<=43200;st2=st2+tsh,et2=et2+tsh) { if(et2<st3) continue; if(st2>et3) break; //如果时间的区间不相重合 for(i=0,st1=ssm,et1=esm;et1<=43200;++i,st1=ssm+(double)i*tsm,et1=esm+(double)i*tsm) { if(et1<st3||et1<st2) continue; if(st1>et3||st1>et2) break; s=tmax(st1,st2,st3); e=tmin(et1,et2,et3); sum=sum+e-s; } } } ans=sum/432.0; printf("%.3f\n",ans); } return 0;}
之前错的就不贴了.......
0 0
- HDU 1006 Tick and Tick
- HDU 1006 Tick and Tick
- hdu 1006 Tick and Tick
- [HDU]1006 Tick and Tick
- HDU 1006 TICk and TICK
- HDU 1006 Tick and Tick
- Hdu 1006 Tick and Tick
- hdu 1006 Tick and Tick
- HDU 1006 Tick and Tick
- HDU:1006 Tick and Tick
- hdu 1006 Tick and Tick
- HDU 1006 Tick and Tick
- hdu-Tick and Tick
- hdu 1006 Tick and Tick 时钟问题
- hdu 1006 Tick and Tick 数学+枚举
- HDU ACM 1006 Tick and Tick
- [HDU 1006] Tick and Tick 模拟题
- HDU 1006 Tick and Tick 模拟
- Oracle至Sql Server用DB Link查询缓慢原因之一
- sed命令
- foxmail小记
- hdu 5826 physics(2016 Multi-University Training Contest 8——积分求解)
- 有关json和xml报文的解析和构造
- HDU 1006 Tick and Tick
- C#从html网页内容中提取指定个数的汉字
- c#的接口
- 如何使用Qt插件在Qt中进行ROS开发
- install yii2 for php 5.4 on CentOS 7
- 【stm32f103-学习笔记】测试看门狗
- 二次指数平滑法求预测值的Java代码
- 第一篇博客
- CSS 实现 系统登录界面 (二)