hdoj【1006】【未完待续】
题意:
时钟的三个指针在两两之间至少D°的时候是开心的,求开心时间占一天的一个百分比。
思路:
我们看到这个百分比有三位小数,精度很高。
一天有24h,24*60min,24*60*60s,那么最小单位是秒。
换一种方法,考虑一天360*2度。但是可以看到,从秒到分到时间,这样转换到度来说,精度更高吧。
然后题目是要保证三个指针最少需要保证D°。
那么我们控制时针每个小时,使得分针最小,转动秒钟。从最小的临界条件,累加到最大的临界状态。那么考虑时间。应该也是最优精度吧。
①枚举每个小时,时针的角度=>最小分针的角度=>最小的秒钟角度,利用秒针枚举到最大的临界状态;枚举次数是24*60*60;
—————————–此时此歌:借过–印子月
后来开始打的时候发现这个D是实数,所以我们假设这个D是极端的D,小数点后6位,那么方法①貌似不行啊。所以还是到D度上来。
用角度,但是怎么枚举呢。总体的最小临界到最大临界是不变的,只是枚举方向换了。从被枚举对象秒针变成比单位度更小的单位。
然后可以看到一天的开始是0°0’0”到720°0’0”,那么就从最小的秒枚举开始,枚举次数是360*60*60,比刚刚的一天多拆分了15倍;
②:然后我直接想的就是从起点到终点中间判断一下就好了。
刚刚还卡机了。。。这个角度就是秒针的角度。
后来。。。其实把精度扩大的方法就是扩大角度的精度,我把一秒扩大1000倍,这样枚举。。。后来发现就是这样吧。。。我扩大360。。也就是枚举360*30*60*24次
—————————此时此歌:你的爱–王力宏
mdzz睡觉。神特么烦
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const double eps=1e-6;
const double pi=acos(-1.0);
const int mod=998244353;
const int INF=0x3f3f3f3f;
const int N=1e5+10;
double x[N],y[N];
int main()
{
int i,j;
int nn;
int xx;
double d;
double sum;
double hh,mm,ss;
double j1,j2,j3;
double i1,i2,i3;
nn=100*60*60*24;
while(~scanf("%lf",&d)){
if(d==-1) break;
xx=0;
for(i=0;i<=nn;i++){
sum=i*100;
hh=sum/3600;
mm=sum/60;
ss=sum;
hh=hh-hh/12*12;
mm=mm-mm/60*60;
ss=ss-ss/60*60;
j1=hh*30;
j2=mm*6;
j3=ss*6;
i1=min(fabs(j1-j2),360-fabs(j1-j2));
i2=min(fabs(j1-j3),360-fabs(j1-j3));
i3=min(fabs(j2-j3),360-fabs(j2-j3));
if(i1-d<=eps)
continue;
if(i2-d<=eps)
continue;
if(i3-d<=eps)
continue;
xx++;
}
printf("%.3lf\n",(double)xx/(double)nn*100);
}
}
hdoj【1006】【未完待续】的更多相关文章
- javascript有用小功能总结(未完待续)
1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...
- ASP.NET MVC 系列随笔汇总[未完待续……]
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...
- 关于DOM的一些总结(未完待续......)
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...
- 我的SQL总结---未完待续
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...
- virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...
- MVC丶 (未完待续······)
希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ...
- 一篇文章让Oracle程序猿学会MySql【未完待续】
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...
- [python]爬代理ip v2.0(未完待续)
爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...
- IOS之KVC和KVO(未完待续)
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- C++语言体系设计哲学的一些随想(未完待续)
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...
随机推荐
- [CSS3] Understand CSS Selector Specificity
It is hard to explain css selector specificty, to easy way to understand it is by playing around wit ...
- android项目笔记(一)
1.getInstance:单例模式创建类的实例,getInstance在单例模式(保证一个类仅有一个实例,并提供一个访问它的全局访问点)的类中常见,用来生成唯一的实例,getInstance往往是s ...
- MySQL中insert ignore into, on duplicate key update,replace into,insert … select … where not exist的一些用法总结
在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: CREATE TABLE `books` ( `id` ) NOT NULL AUTO_INCREM ...
- v-on指令
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- for in 与for of
最近在项目中需要用到遍历对象,用ES6 for of对象后报如下错误 TypeError: [object Object] is not iterable!,网上查询阮大神的教程发现“ES6 的有些 ...
- openwrt gstreamer实例学习笔记(七. gstreamer 缓冲区(Buffers)和事件(Events))
1)概述 管道的数据流由一组缓冲区和事件组成,缓冲区包括实际的管道数据,事件包括控制信息,如寻找信息和流的终止信号.所有这些数据流在运行的时候自动的流过管道. 2) 缓冲区(Buffers) 缓冲区包 ...
- Arcgis Engine(ae)接口详解(6):workspace操作
//此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFi ...
- iOS 7的手势滑动返回
如今使用默认模板创建的iOS App都支持手势返回功能,假设导航栏的返回button是自己定义的那么则会失效,也能够參考这里手动设置无效. if ([self.navigationController ...
- HashMap存入大量数据是否要预定义存储空间
按说HashMap的负载极限为0.75,可是,测试程序并看不出这个结果.待探讨 测试程序如下: 根据结果看不出来预定义有什么影响. public class test { public static ...
- Java programming language compiler
https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html\ javac - Java programming l ...