[問題] 時間比較
看板Prob_Solve (計算數學 Problem Solving)作者leslieha (懂的付出才會幸福)時間12年前 (2012/09/06 21:51)推噓2(2推 0噓 5→)留言7則, 4人參與討論串1/1
問題
有n個排程
每個排程有 start time(HH:MM:SS) 跟 interval
例如
排程一
start_time = 0:01:30
interval = 00:00:30
那 0:00:00 0:00:30 0:01:00 0:01:30 ... 23:59:30 皆屬於排程一
排程二
start_time = 0:00:10
interval = 3:30:00
那 0:00:10 3:30:10 7:00:10 10:30:10 14:00:10 ... 21:30:10 皆屬於排程二
雖然21:30:10 + 3:30:00 = 25:00:10 % 24:00:00 = 1:00:10
但 超過一天應該算用 0:00:10
要檢查各個排程會不會相衝途
-----------------------------------------------------------
目前想到的解法
一天有 60x60x24 = 86400秒
把排程一想成
start_time = 90
interval = 30
0 30 60 90 ... 86370 皆屬於排程一
A1 A2 A3 A4 An
把排程二想成
start_time = 10
interval = 12600
那 10 12610 25210 ... 77410 皆屬於排程二
B1 B2 B3 Bn
要逐一比較 A1~An B1~Bn有無相等
先找 30 跟 12600的最小公倍數 = 12600
就比較
90+(30x0) ~ 90+(30x420) 是否有跟
10+(12600x0) ~ 10+(12600x1) 相等
---------------------------------------------------------------------
本來有想另一個
開一個大array
可以存86400 bit (2700-btye)
把每一排程所占據的時間設起來 (set to 1)
但這樣無法得知相衝途的排程是那兩個
故只好兩兩作比較
請問
是否有其它解決辦法?
或提供想法
謝謝
--
用程式語言c解
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.235.124.249
推
09/06 22:08, , 1F
09/06 22:08, 1F
→
09/06 22:09, , 2F
09/06 22:09, 2F
→
09/06 22:09, , 3F
09/06 22:09, 3F
→
09/06 22:10, , 4F
09/06 22:10, 4F
→
09/06 22:35, , 5F
09/06 22:35, 5F
→
09/06 22:48, , 6F
09/06 22:48, 6F
推
09/07 05:57, , 7F
09/07 05:57, 7F
※ leslieha:轉錄至看板 Programming 09/07 14:18
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章