娜娜夢遊仙境系列 夢醒

2021-07-01 23:39:08 字數 1116 閱讀 8681

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小時。

把每小時重合的秒鐘數儲存後計算。#include #include #include #include #include #include using namespace std;

int main()

{ int t;

int h,m,s;

scanf("%d",&t);

while(t--)

{scanf("%d:%d:%d",&h,&m,&s);

int now =(h*60+m)*60+s;

for(int i=0;i<24;++i)

{if(now

B 娜娜夢遊仙境系列 跳遠女王 (最短路)

思路 比賽的時候並沒有想到,賽後的時候也並沒有想出來。自己一直無法突破的地方在於1000個點,要是我給每個點建邊的話,那麼100w就會爆,其實並不會爆。而且這邊可以採用的是建雙向邊,就是j跟j前面的建雙向邊。這樣最終時間會少很多,而且效果是一樣的。最終跑一遍spfa就可以了 自己一直沒有好好學過圖和...

35歲學太極系列 1 緣起功夫夢

看了leo第一次練習跆拳道 下個決斷準備堅持每週寫一篇學習太極的部落格。太極拳,還有內功,氣功,經絡學說是世界上最好和最先進的鍛鍊方法,可惜現代人對這些中國傳統文化的精華缺乏認識。也許還要過上五年,十年或者更長的時間才能有所變化。上週接到我家裡的 說我哥哥在家裡暈倒了,被送到醫院,診斷是頸椎骨質增生...

HDU 威威貓系列故事 籃球夢

威威貓十分迷戀籃球比賽,是忠實的nba球迷,他常常幻想自己那肥碩的身軀也能飛起扣籃。另外,他對籃球教練工作也情有獨鍾,特別是對比賽的戰術,投籃選擇方面也是很有研究,下面就是威威貓研究過的乙個問題 一場nba籃球比賽總共48分鐘,假如我們現在已經知道當前比分 a b,a代表我方的比分,b代表對方的比分...