P2278 HNOI2003 作業系統

2022-04-06 15:03:55 字數 579 閱讀 8482

一道巨大的模擬,因為每次都是從第乙個開始幹並且有順序,那麼就該用優先佇列了

順序問題只要過載一下運算子即可

cpu的任務如果幹了一部分後被踢出去了,又輪到它的時候它會接著乾而不是從頭開始

#include#include

#include

#include

using

namespace

std;

long

long

num,at,rt,l;

//編號,到達時間,執行時間,級別

struct

task

return a.l

}} now,last;

long

long lt,nt;//

上乙個程式處理到的時候,目前已處理時間長度

priority_queue q;

intmain()

else

else

}lt=now.at;

}q.push(now);

}while(!q.empty())

return0;

}

ac

P2278 HNOI2003 作業系統

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

P2278 HNOI2003 作業系統

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

P2278 HNOI2003 作業系統 堆

有若干個程序,每個程序有優先順序,執行時間,放入時間。如果乙個程序到達的時候cpu是空閒的,則它會一直占用cpu直到該程序結束。除非在這個過程中,有乙個比它優先順序高的程序要執行。在這種情況下,這個新的 優先順序更高的 程序會占用cpu,而老的只有等待。如果乙個程序到達時,cpu正在處理乙個比它優先...