luogu 2278 作業系統

2021-08-29 07:48:30 字數 336 閱讀 7280

題目:

思路全在**裡

#include#include#include#include#includeusing namespace std;

struct node

if(!q.empty())//這個就是當可以完整進行完的程序都解決了,那麼剩下的肯定是進行到一部分還沒有完全搞定的,那我們就強迫把某個程序分割成兩部分,並且更新剩下的執行時間並且重新放進優先佇列

q.push((node));

sum=da;

} while(!q.empty())//最後處理完還沒處理完的程式,輸出

}

P2278 HNOI2003 作業系統

寫乙個程式來模擬作業系統的程序排程。假設該系統只有乙個cpu,每乙個程序的到達時間,執行時間和執行優先順序都是已知的。其中執行優先順序用自然數表示,數字越大,則優先順序越高。如果乙個程序到達的時候cpu是空閒的,則它會一直占用cpu直到該程序結束。除非在這個過程中,有乙個比它優先順序高的程序要執行。...

P2278 HNOI2003 作業系統

一道巨大的模擬,因為每次都是從第乙個開始幹並且有順序,那麼就該用優先佇列了 順序問題只要過載一下運算子即可 cpu的任務如果幹了一部分後被踢出去了,又輪到它的時候它會接著乾而不是從頭開始 include include include include using namespace std long...

P2278 HNOI2003 作業系統

寫乙個程式來模擬作業系統的程序排程。假設該系統只有乙個cpu,每乙個程序的到達時間,執行時間和執行優先順序都是已知的。其中執行優先順序用自然數表示,數字越大,則優先順序越高。如果乙個程序到達的時候cpu是空閒的,則它會一直占用cpu直到該程序結束。除非在這個過程中,有乙個比它優先順序高的程序要執行。...