[ACM_模拟] HDU 1006 Tick and Tick [时钟间隔角度问题]
#include<stdio.h>
/*-----------------------------------------------
double取最大最小函数
*/
double max(double a,double b){
if(a>b)return a;
return b;
}
double min(double a,double b){
if(a>b)return b;
return a;
}//---------------------------------------------
/*
集合结构体
*/
struct set{
double a,double b;
};//集合区间的左右
double d;
/*---------------------------------------------
求d<=ax+b<360-d的解
*/
struct set sloveset(double a,double b){
struct set seta;
if(a>){
seta.a=(d-b)/a;
seta.b=(-d-b)/a;
}
else{
seta.b=(d-b)/a;
seta.a=(-d-b)/a;
}
if(seta.a<) seta.a=;
if(seta.b>) seta.b=;
if(seta.a>=seta.b) seta.a=seta.b=;//之前这句放到了if(seta.a<0)if(seta.b>60)前面了
return seta; //结果seta.b变成了负的怀疑是seta.b太大了冒了不知对错
}
/*---------------------------------------------
给2个集合求交集
*/
struct set intersection(struct set a,struct set b){
struct set p;
p.a=a.a>b.a ?a.a:b.a;
p.b=a.b<b.b ?a.b:b.b;
if(p.a>p.b) p.a=p.b=;
return p;
}//////////////////////////////////////////////////////////
int main(){
int h,m,i,j,k;
double a1,b1,a2,b2,a3,b3,time;
struct set answer[][],ensemble;
while(scanf("%lf",&d)&&d!=-){
time=;
for(h=;h<;h++){
for(m=;m<;m++){
b1=6.0*m;a1=-5.9;
b2=*h+0.5*m;a2=1.0/-6.0;
b3=*h+(0.5-)*m;a3=(1.0/)-0.1;
/*求3个绝对值不等式的解集 存到answer中answer[0][0] answer[0][1]要取并集剩下两个也是 */
answer[][]=sloveset(a1,b1); answer[][]=sloveset(-a1,-b1);
answer[][]=sloveset(a2,b2); answer[][]=sloveset(-a2,-b2);
answer[][]=sloveset(a3,b3); answer[][]=sloveset(-a3,-b3);
// 取过交集后,需要将3个式子的结果取并集 所以采用下面的方法
for(i=;i<;i++){
for(j=;j<;j++){
for(k=;k<;k++){
ensemble=intersection(intersection(answer[][i],answer[][j]),answer[][k]);
time+=ensemble.b-ensemble.a;
}
}
}
}
}
time=time*100.0/(*);
printf("%.3lf\n",time);
}
return ;
}
[ACM_模拟] HDU 1006 Tick and Tick [时钟间隔角度问题]的更多相关文章
- 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 ...
- 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 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 Tick]时钟问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1006 题目大意:钟表有时.分.秒3根指针.当任意两根指针间夹角大于等于n°时,就说他们是happy的, ...
- HDU 1006 Tick and Tick 解不等式解法
一開始思考的时候认为好难的题目,由于感觉非常多情况.不知道从何入手. 想通了就不难了. 能够转化为一个利用速度建立不等式.然后解不等式的问题. 建立速度,路程,时间的模型例如以下: /******** ...
- 1006 Tick and Tick
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1006 题意: 24小时中,三个指针之间超过某个度数的时间占所有时间的百分比是多少. 思路:主要是物理和数学 ...
随机推荐
- 103041000997维护的是周批,按周合并后再考虑最小采购批量、舍入值、然后回写到SAP系统
描述:103041000997维护的是周批量,但最终没有按周批量来回写数据. 业务逻辑如下: 1.净需求考虑数量按周汇总(也有按日.按3天,具体 要根据物料主数据维护来判断) 2.第1点的结果再加上安 ...
- bootstrap下拉框的例子,提示Error: Bootstrap's JavaScript requires jQuery
bootstrap很多js依赖jquery,所以需要引入jquery 遇到的问题: 页面访问提示:Error: Bootstrap's JavaScript requires jQuery 解 ...
- Web标准:七、横向导航菜单
Web标准:七.横向导航菜单 知识点: 1.横向列表菜单 2.用图片美化的横向导航 3.css Sprites 1)横向列表菜单 可以在第四节课的基础上来实现横向导航菜单,只要给li一个float ...
- 锁机制(Lock) 信号量机制(Semaphore) 事件机制(Event)
IPC 进程间通信(inter-Process Communicate) 锁机制(Lock) l = Lock() 开启一个锁机制(实例化) 一把锁配一个钥匙 l.acquire() 获得钥匙 ...
- python作业之修改用户配置文件
用户的配置文件如下 backend oldboy school school1 age 21 weight 210 qq 550176565 iphone 139987676backend oldgi ...
- springmvc中Controller方法的返回值
1.1 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. 1.2 返回void 在controller方法形参 ...
- 测试rar/bz2/tar.gz/gz压缩文档完整性
#gz文件gzip -t *.gz#bz2文件tar jtvf archive.tar.bz2#tar.gz文件tar jtvf archive.tar.gz#rar文件unrar t 1.rar
- geoserver 通过代码实现发布地图服务
GeoServer:代码实现批量发布地图服务 利用GeoServer发布WCS服务,那么如果我有很多数据需要进行发布,这样利用GeoServer提供的UI界面进行操作显然很不显示.那能不能利用GeoS ...
- Java数据结构和算法(四)赫夫曼树
Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ...
- msys2 启用windows PATH环境变量
有三种方法修改 ①msys2_shell.cmd 中取消一行的注释:set MSYS2_PATH_TYPE=inherit ②调用msys2_shell.cmd时使用-use-full-path参数 ...