G - 娜娜梦游仙境系列——梦醒

Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)     Special Judge

Problem Description

娜娜离开了这个王国,走向远方,在旷野上,娜娜看到了一个大时钟,上面的时针分针秒针都在缓缓转动,那只挥着翅膀的天使又出现了,天使说:“外面天已经亮了,娜娜你别睡过头哟~”,娜娜问:“我怎样才能醒过来呢?”,天使说:“只要这个钟的时针和分针重合,你就可以进入时光隧道,离开这个地方。”

那你能告诉娜娜还有多久时针和分针才会重合吗?

Input

多组数据,第一行是一个正整数t(t<=100,000),表示数据的组数

对于每组数据,为一个时刻,格式为hh:mm:ss分别表示当时的时、分、秒(采用24小时计时法,范围从00:00:00~23:59:59)

Output

对于每组数据,输出一个浮点数,表示距离下一次时针和分针重合的秒数,误差在1e-4以内将会视为正确。

Sample Input

2
23:59:59
00:00:00

Sample Output

1.000000
3927.272727

Hint

本题采用special judge

题意:给一个时刻,问距离下一次时针和分针重合还需要多少秒。

解法:一天以内时针和分针总共重合24次,可以把这24个时刻都计算出来,其实就是12/11的整数倍小时,换算成秒就是12*3600/11*k秒(k=1,2,...,24),然后对于每一个时刻,枚举搜索下一次重合的时刻是哪一个,相减即可。 这个是怎么计算出来的呢?我们肯定能确定00:00:00,时针和分针会重合,那么下一次重合是什么时候呢?时针转过一圈是12小时,在这12小时中,时针和分针正好重合了11次,所以相邻两次重合的间隔就是12/11小时。

note:我是推公式出来,把每小时重合的秒钟数保存后计算。{(s/3600+h)*30=s/3600*360  -> s=3600/11*h }

 1 #include <stdio.h>
 2 #include <string.h>
 3
 4 int main()
 5 {
 6     int t,i,j,k,h,m,s;
 7     double sec[20],n;
 8     char time[10];
 9     for(i=0;i<12;i++)   //保存12个小时的重合秒钟数
10     {
11         sec[i]=i*3600*1.0/11;
12     }
13     while(scanf("%d",&t)!=EOF)
14     {
15         while(t--)
16         {
17             scanf("%s",time);
18             h=10*(time[0]-'0')+(time[1]-'0');
19             m=10*(time[3]-'0')+(time[4]-'0');
20             s=10*(time[6]-'0')+(time[7]-'0');
21             s=m*60+s;
22             if(h>=12)
23                 h-=12;
24             if(s>=sec[h])   //当前秒钟大于重合的秒钟值,则下一次重合秒钟等于当前时间距离下一小时的秒钟数+下一小时重合的秒钟数
25             {
26                 n=3600-s;
27                 if(h==11)
28                     h=0;
29                 else
30                     h++;
31                 n+=sec[h];
32             }
33             else
34             {
35                 n=sec[h]-s;
36             }
37             printf("%.6lf\n",n);
38         }
39
40     }
41     return 0;
42 }

转载于:https://www.cnblogs.com/weigx/p/4429788.html

G - 娜娜梦游仙境系列——梦醒相关推荐

  1. A - 娜娜梦游仙境系列——诡异的钢琴

    A - 娜娜梦游仙境系列--诡异的钢琴 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Othe ...

  2. B - 娜娜梦游仙境系列——跳远女王

    B - 娜娜梦游仙境系列--跳远女王 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Other ...

  3. F - 娜娜梦游仙境系列——多民族王国

    F - 娜娜梦游仙境系列--多民族王国 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Othe ...

  4. 《梦醒黄金城》主创暨明星见面会举办 预计2019年完成拍摄

    2019独角兽企业重金招聘Python工程师标准>>> [中国公益在线深圳讯 记者张强报道]近日,深圳市华本影视主要出品,深圳市海承文化.慕白影业共同打造的院线电影<梦醒黄金城 ...

  5. 清华大学计算机陈蓓,2010年安徽高考状元文科陈蓓 理科张浩源刘梦醒郝姗姗

    安徽省六安市寿县一中高三(27)班陈蓓同学以总分666分(语文:126分.数学:141分.英语:144分.文综:255分)的成绩夺得安徽省2010年高考文科状元.据了解,陈蓓同学为省级"三好 ...

  6. 红尘梦醒雪无踪,花落无息香如故

    如果情感和岁月也能轻轻撕碎,扔到海中,那么,我愿意从此就在海底沉默-你的言语,我爱听,却不懂得,我的沉默,你愿见,却不明白. --张爱玲 我是一枝寂寞的寒梅,皑皑白雪里你只是看到了我的妩媚,有谁知道, ...

  7. 梦醒暗黑廿年(三)物品篇

    ** 梦醒暗黑廿年(三)物品篇 ** 也不知道还有没有下一篇,估计做完这篇就应该是最后一篇了.NPC.物品.任务三项遍历是每个游戏最重要的三个部分,但以暗黑的尿性,任务有没有都只是那回事,所以有NPC ...

  8. 梦醒了 屋里昏沉一片

    对峙,甲脸上的嘲弄让人不由得在心头燃起火来,但在黑洞洞的枪口面前,无论什么样的火焰也会被熄灭.天空中的雪还在飘着,丙和乙坐在破旧的轿车里,丙的手里也拿着枪,枪口对准了坐在对面大卡车上的甲.甲的嘴里在不 ...

  9. 互联网大厂程序员梦醒时分:攒够400万,到40岁退休

    梦醒之后,每个人对于这份职业的未来.互联网行业的未来,以及更重要的,自己的未来都有了更现实的判断. 文 | 祝颖丽  来源 | 晚点LatePost 一个生于 1986 年的人,他所走过的前半生: 从 ...

最新文章

  1. vue----常用实例方法--$mount(),$destroy(),$watch(),$forceUpdate()
  2. 【Ansible】的python api
  3. 软件设计最近发展趋势对话录
  4. python之函数名称空间,作用域,嵌套函数
  5. thymealf如何实现传单个变量给html_50个关于IPython的奇技淫巧
  6. PPPoE工作原理与帧格式
  7. Qt Quick实现的疯狂算数游戏
  8. Tkinter教程之Button篇
  9. AirServer Mac Airplay投屏工具
  10. iOS版本关于微信分享后出现的“未验证应用”
  11. 微软将与美国第二大杂货连锁店展开合作 以抵抗亚马逊
  12. linux查询电脑mac地址,查看MAC地址的几种方法汇总
  13. java 游戏背景mp3音乐_java飞机大战(带背景音乐) 游戏原码下载
  14. HR最不认同的5大跳槽理由排行榜
  15. selenium和requests实现12306登录及余票查询
  16. postcss压缩 postcss-clean替换cssnano
  17. 国内有哪些比较靠谱的云主机供应商,性价比高一点的?
  18. Linux学习笔记:联想拯救者Y7000进BIOS
  19. 现代控制理论6——能控、能观及其对偶原理、线性变换、结构分解
  20. 矩阵理论(二)特征值分解和SVD分解

热门文章

  1. docker 数据库 mysql_在Docker中体验数据库之MySql
  2. html生成自定义表格,自定义js的表格插件
  3. 登录id 黑苹果_黑苹果MacOSCatalina无法登录AppStore修复
  4. Java BufferedReader reset()方法及示例
  5. c ++ 函数的esp指针_在C ++中通过指针访问成员函数
  6. Java GregorianCalendar getTimeZone()方法与示例
  7. 第十二章 图形用户界面
  8. 已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
  9. python求三个数中最小(大)的元素
  10. c语言 判断一个图是否全连通_基于云平台的全链路大规模网络连通性检测系统详解...