G - 娜娜梦游仙境系列——梦醒
G?-?娜娜夢(mèng)游仙境系列——夢(mèng)醒
Time Limit:?2000/1000MS (Java/Others)????Memory Limit:?128000/64000KB (Java/Others)???? Special JudgeProblem Description
娜娜離開了這個(gè)王國(guó),走向遠(yuǎn)方,在曠野上,娜娜看到了一個(gè)大時(shí)鐘,上面的時(shí)針分針秒針都在緩緩轉(zhuǎn)動(dòng),那只揮著翅膀的天使又出現(xiàn)了,天使說:“外面天已經(jīng)亮了,娜娜你別睡過頭喲~”,娜娜問:“我怎樣才能醒過來呢?”,天使說:“只要這個(gè)鐘的時(shí)針和分針重合,你就可以進(jìn)入時(shí)光隧道,離開這個(gè)地方。”
?
那你能告訴娜娜還有多久時(shí)針和分針才會(huì)重合嗎?
Input
多組數(shù)據(jù),第一行是一個(gè)正整數(shù)t(t<=100,000),表示數(shù)據(jù)的組數(shù)
對(duì)于每組數(shù)據(jù),為一個(gè)時(shí)刻,格式為hh:mm:ss分別表示當(dāng)時(shí)的時(shí)、分、秒(采用24小時(shí)計(jì)時(shí)法,范圍從00:00:00~23:59:59)
Output
對(duì)于每組數(shù)據(jù),輸出一個(gè)浮點(diǎn)數(shù),表示距離下一次時(shí)針和分針重合的秒數(shù),誤差在1e-4以內(nèi)將會(huì)視為正確。Sample Input
2 23:59:59 00:00:00Sample Output
1.000000 3927.272727Hint
本題采用special judge題意:給一個(gè)時(shí)刻,問距離下一次時(shí)針和分針重合還需要多少秒。
解法:一天以內(nèi)時(shí)針和分針總共重合24次,可以把這24個(gè)時(shí)刻都計(jì)算出來,其實(shí)就是12/11的整數(shù)倍小時(shí),換算成秒就是12*3600/11*k秒(k=1,2,...,24),然后對(duì)于每一個(gè)時(shí)刻,枚舉搜索下一次重合的時(shí)刻是哪一個(gè),相減即可。 這個(gè)是怎么計(jì)算出來的呢?我們肯定能確定00:00:00,時(shí)針和分針會(huì)重合,那么下一次重合是什么時(shí)候呢?時(shí)針轉(zhuǎn)過一圈是12小時(shí),在這12小時(shí)中,時(shí)針和分針正好重合了11次,所以相鄰兩次重合的間隔就是12/11小時(shí)。
note:我是推公式出來,把每小時(shí)重合的秒鐘數(shù)保存后計(jì)算。{(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個(gè)小時(shí)的重合秒鐘數(shù) 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]) //當(dāng)前秒鐘大于重合的秒鐘值,則下一次重合秒鐘等于當(dāng)前時(shí)間距離下一小時(shí)的秒鐘數(shù)+下一小時(shí)重合的秒鐘數(shù) 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 }?
轉(zhuǎn)載于:https://www.cnblogs.com/weigx/p/4429788.html
總結(jié)
以上是生活随笔為你收集整理的G - 娜娜梦游仙境系列——梦醒的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Android定制Launcher
- 下一篇: 查找单链表中间节点