HDOJ1006
#include <cstdio>
#include <algorithm>
using namespace std;
const double UB=43200;
const double hm=11.0/120,hs=719.0/120,sm=59.0/10;
const double T_hm=UB/11,T_hs=UB/719,T_sm=3600.0/59;
int main()
{
double d;
double s[3],e[3],ts[3],te[3];
while(scanf("%lf",&d),d!=-1)
{
s[0]=d/hm;
s[1]=d/hs;
s[2]=d/sm;
e[0]=(360-d)/hm;
e[1]=(360-d)/hs;
e[2]=(360-d)/sm;
double sum=0;
for(ts[0]=s[0],te[0]=e[0];ts[0]<UB;ts[0]+=T_hm,te[0]+=T_hm)
{
if(te[0]>UB) te[0]=UB;
for(ts[1]=s[1],te[1]=e[1];ts[1]<UB;ts[1]+=T_hs,te[1]+=T_hs)
{
if(ts[1]>te[0])
break;
if(te[1]<ts[0])
continue;
if(te[1]>UB) te[1]=UB;
for(ts[2]=s[2],te[2]=e[2];ts[2]<UB;ts[2]+=T_sm,te[2]+=T_sm)
{
if(ts[2]>te[1]||ts[2]>te[0])
break;
if(te[1]<ts[0]||te[2]<ts[1])
continue;
if(te[2]>UB) te[2]=UB;
double start=max(max(ts[0],ts[1]),ts[2]);
double end=min(min(te[0],te[1]),te[2]);
if(end>start)sum+=end-start;
}
}
}
printf("%.3f\n",sum*100.0/UB);
}
return 0;
}
HDOJ1006的更多相关文章
随机推荐
- wordpress无法登录的解决方法
使用wordpress建站的朋友可能会遇到wordpress管理密码,有时甚至是正确的密码,但是多次尝试输入都无法登录,并且输入用户名和输入电子邮件都无法获取密码,遇到这种情况怎么办,本文教你如何处理 ...
- python刷toj
1452 import sys a , b , c = map(int,sys.stdin.readline().split()) print ((a+b+c),(a*b*c), '%.2f' %(( ...
- Git 撤消操作
修改最后一次提交 有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了.想要撤消刚才的提交操作,可以使用 --amend 选项重新提交: $ git commit --amend 此命令将 ...
- 原 .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
大家都说反射耗性能,但是到底有多耗性能,哪些反射方法更耗性能:这些问题却没有统一的描述. 本文将用数据说明反射各个方法和替代方法的性能差异,并提供一些反射代码的编写建议.为了解决反射的性能问题,你可以 ...
- BZOJ 4004 [JLOI2015]装备购买 ——线性基
[题目分析] 题目很简单,就是要维护一个实数域上的线性基. 仿照异或空间的线性基的方法,排序之后每次加入一个数即可. 卡精度,开long double 和 1e-6就轻松水过了. [代码] #incl ...
- 刷题总结——蜥蜴(ssoj网络流)
题目: 题目背景 SCOI2007 DAY1 T3 题目描述 在一个 r 行 c 列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外.每行每列中相邻石柱的距 ...
- Java 线程池的原理与实现学习(一)
线程池:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力. 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中 ...
- 【单调队列+二分查找】bzoj 1012: [JSOI2008]最大数maxnumber
[题意] 维护一个单调递减的q数组,用id数组记录q数组的每个下标对应在原数组的位置,那么id数组一定有单调性(q数组中越靠后,原数组中也靠后),然后二分查找这个数 [AC] #include< ...
- cf575A Fibonotci
Fibonotci sequence is an integer recursive sequence defined by the recurrence relation Fn = sn - 1·F ...
- localStorage增删改查
/** * 设置 本地缓存 */ export function setStorage(key, obj) { if (typeof obj === 'string') { localStorage. ...