任務系統提醒(優先佇列)

2021-08-14 11:49:33 字數 954 閱讀 1305

設計了乙個任務系統。這個系統是為了定時提醒人們去完成一些事情。

系統大致如下,初始的時候,人們可能會註冊很多任務,每乙個任務的註冊如下:

register q_num period

表示從系統啟動開始,每過 per

iod 秒提醒人們完成編號為 qnum

的任務。

你能計算出最先被提醒的

k 個任務嗎?

第一行輸入 n(0

3000

),k(0

1000

0),其中n

表示蒜頭君註冊的任務數量。

接下來 n

行,每行輸入一條註冊命令,其中0 um​≤

3000

,0≤pe

riod

≤300

0。順序輸出k

行,表示依次提醒的任務的編號。如果同一時間有多個任務,最先提醒編號小的任務。

樣例輸入
2 5

register 2004 200

register 2005 300

樣例輸出

2004

2005

2004

2004

2005

解題說明:優先佇列弄吧!沒啥的,有點想說明,這個提醒的過程也是有週期性,我們知道了乙個週期內的提醒樣本,那後面我們就全知道了,這樣,程式節約了好多時間!那麼問題來了,怎麼才能知道它的週期呢?這是個值得略微思考的問題。

#include#include#include#includeusing namespace std;

struct task

};mapm;

int main()

while(k--)

return 0;

}

codeup 優先佇列 問題 A 任務排程

題目描述 讀入任務排程序列,輸出n個任務適合的一種排程方式。輸入 輸入包含多組測試資料。每組第一行輸入乙個整數n n 100000 表示有n個任務。接下來n行,每行第乙個表示前序任務,括號中的任務為若干個後序任務,表示只有在前序任務完成的情況下,後序任務才能開始。若後序為null則表示無後繼任務。輸...

貪心 優先佇列 模擬 任務排程器

2020 03 10 17 22 21 問題描述 給定乙個用字元陣列表示的 cpu 需要執行的任務列表。其中包含使用大寫的 a z 字母表示的26 種不同種類的任務。任務可以以任意順序執行,並且每個任務都可以在 1 個單位時間內執行完。cpu 在任何乙個單位時間內都可以執行乙個任務,或者在待命狀態。...

Linux Ubuntu 定時提醒 執行任務

當我們需要一些自動定時提醒或者每天下班自動執行備份,定期自動重啟某些服務清理某些快取時,如何在大linux上使用幾句shell命令完成實現這份任務的自動化呢?notify send和crontab的結合就可以輕鬆實現定時執行,自動彈出通知提醒等。程式包libnotify bin為x桌面系統提供了向桌...