Tick and Tick------HDOJ杭州电(无法解释,直接看代码)
from any of the rest. You are to calculate how much time in a day that all the hands are happy.
0
120
90
-1
100.000
0.000
6.251
#include <iostream>
#include <iomanip>
using namespace std;
#define vs 6.
#define vm 1./double(10)
#define vh 1./double(120) int main()
{
double D;
double T[3]= {(360./(vm-vh)),(360./(vs-vm)),(360./(vs-vh))}; ///时分 分秒 时秒 的相对周期
while(cin>>D && D!=-1)
{
double HS[3]= {(D/360.)*T[0],(D/360.)*T[1],(D/360.)*T[2]}; ///存储每对针的開始Happy时间
double HE[3]= {(360.-D)/360.*T[0],((360.-D)/360.*T[1]),((360.-D)/360.*T[2])}; ///存储每对针的结束Happy时间
double happyTime=0.,nextHS=HS[0],nextHE=min(HE[1],HE[2]);
while(HS[1]<43200-(D/360.)*T[0] && HS[2]<43200-(D/360.)*T[0])
{
nextHS= max(HS[0],max(HS[1],HS[2]));
nextHE= min(HE[0],min(HE[1],HE[2]));
happyTime += (nextHE-nextHS)>0.?nextHE-nextHS:0.;
for(int i=0; i<3; i++)
{
HS[i]+=(nextHE-HE[i]<0.?HE[i]-nextHE:nextHE-HE[i])<1e-15?T[i]:0.;
HE[i]+=(nextHE-HE[i]<0.? HE[i]-nextHE:nextHE-HE[i])<1e-15?T[i]:0.;
}
}
double result= happyTime/432.;
cout<<setiosflags(ios::fixed)<<setprecision(3)<<result<<endl;
}
return 0;
}
这个问题由特定牛的回答,门户:丹尼尔问题解决地址
Tick and Tick------HDOJ杭州电(无法解释,直接看代码)的更多相关文章
- hdu 1290 竭诚为杭州电礼物50周年
专门为杭州电50周年礼事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...
- hdu1006 Tick and Tick
原题链接 Tick and Tick 题意 计算时针.分针.秒针24小时之内三个指针之间相差大于等于n度一天内所占百分比. 思路 每隔12小时时针.分针.秒针全部指向0,那么只需要计算12小时内的百分 ...
- HDU 1006 Tick and Tick 时钟指针问题
Tick and Tick Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- hdu 1006 Tick and Tick 有技巧的暴力
Tick and Tick Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDU 1006 Tick and Tick(时钟,分钟,秒钟角度问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1006 Tick and Tick Time Limit: 2000/1000 MS (Java/Oth ...
- hdu 1006 Tick and Tick
Tick and Tick Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- A == B ?(杭州电2054)
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- 杭州电acm理工大舞台版
我要参加全国软件设计大赛C/C++学生语言组,前一个假设<C训练和演习,并总结手>没看完,请阅读上述并根据所作的训练,然后做下面的练习. 门户:http://blog.csdn.net/l ...
- Tick and Tick
The three hands of the clock are rotating every second and meeting each other many times everyday. F ...
随机推荐
- Python多线程的threading Event
Python threading模块提供Event对象用于线程间通信.它提供了一组.拆除.等待用于线程间通信的其他方法. event它是沟通中最简单的一个过程之中,一个线程产生一个信号,号.Pytho ...
- doc-remote-debugging.html
https://studio.zerobrane.com/doc-remote-debugging.html
- MQTT学习笔记——Yeelink MQTT维修 采用mqtt.js和paho-mqtt
0 前言 2014年8月yeelink推出基于MQTT协议的开关类型设备控制API.相比于基于HTTP RESTful的轮训方式,通过订阅相关主题消息,能够远程控制类应用实时性更好. 本文使用 ...
- php编码规范个人小结
1.原生态代码或者类的头上,注明作者,关键算法计算过程 例如 /** *@author zengmoumou *功能:根据列表ip,取得ip对应的运营商,省,市,县 */ 2.变量尽量用英文单词的组合 ...
- Sliverlight实例之 使用 ControlTemplate 自定义按钮的外观
按钮,最终效果,如下图: 见Project21_ButtonSkin 1, 创建Sliverlight项目 说明: generic.xaml:样式和模板就被定义在这个文件里 MyButton.cs:控 ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- jquery处理页面元素
处理父级页面中的元素 $(parent.document).find('#hidSendPerson').val(val);$(parent.document).find('#btnGo').clic ...
- basename, dirname 在C语言中的使用
basename作用是得到特定的路径中的最后一个'/',后面的内容 如/usr/bin,得到的内容就是bin 如果/sdcard/miui_recovery/backup 得到的内容就是backup ...
- REPLICAT RORA_1保持 ABENDED状态,无法启动问题处理
REPLICAT RORA_1保持 ABENDED状态,无法启动问题 环境: Item Source System Target System Platform Red Hat Enterprise ...
- sqlite 中文排序
看 http://www.cnblogs.com/08shiyan/archive/2012/05/11/2496491.html 这个方法 不太好用 最好的办法是 表添加pinyin字段. 插入数据 ...