悬赏做logo的网站,义乌外贸,濮阳武志勇,网站建设能有多大访问量G - 娜娜梦游仙境系列——梦醒 Time Limit:2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Special JudgeProblem Description 娜娜离开了这个王国#xff0c;走向远方#xff0c;在旷野上#xff0c;娜娜看到了一个大时钟#xff0c;上面的… G - 娜娜梦游仙境系列——梦醒 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Special Judge Problem Description 娜娜离开了这个王国走向远方在旷野上娜娜看到了一个大时钟上面的时针分针秒针都在缓缓转动那只挥着翅膀的天使又出现了天使说“外面天已经亮了娜娜你别睡过头哟~”娜娜问“我怎样才能醒过来呢”天使说“只要这个钟的时针和分针重合你就可以进入时光隧道离开这个地方。” 那你能告诉娜娜还有多久时针和分针才会重合吗 Input 多组数据第一行是一个正整数t(t100,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秒(k1,2,...,24)然后对于每一个时刻枚举搜索下一次重合的时刻是哪一个相减即可。 这个是怎么计算出来的呢我们肯定能确定00:00:00,时针和分针会重合那么下一次重合是什么时候呢时针转过一圈是12小时在这12小时中时针和分针正好重合了11次所以相邻两次重合的间隔就是12/11小时。 note我是推公式出来把每小时重合的秒钟数保存后计算。{s/3600h*30s/3600*360 - s3600/11*h } 1 #include stdio.h2 #include string.h3 4 int main()5 {6 int t,i,j,k,h,m,s;7 double sec[20],n;8 char time[10];9 for(i0;i12;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 h10*(time[0]-0)(time[1]-0);
19 m10*(time[3]-0)(time[4]-0);
20 s10*(time[6]-0)(time[7]-0);
21 sm*60s;
22 if(h12)
23 h-12;
24 if(ssec[h]) //当前秒钟大于重合的秒钟值,则下一次重合秒钟等于当前时间距离下一小时的秒钟数下一小时重合的秒钟数
25 {
26 n3600-s;
27 if(h11)
28 h0;
29 else
30 h;
31 nsec[h];
32 }
33 else
34 {
35 nsec[h]-s;
36 }
37 printf(%.6lf\n,n);
38 }
39
40 }
41 return 0;
42 } 转载于:https://www.cnblogs.com/weigx/p/4429788.html