CCF認證 2017 09 公共鑰匙盒(思路)

2021-08-28 03:52:24 字數 849 閱讀 9912

題目:

有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。

鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上有標識,所以老師們不會弄混鑰匙。

每次取鑰匙的時候,老師們都會找到自己所需要的鑰匙將其取走,而不會移動其他鑰匙。每次還鑰匙的時候,還鑰匙的老師會找到最左邊的空的掛鉤,將鑰匙掛在這個掛鉤上。如果有多位老師還鑰匙,則他們按鑰匙編號從小到大的順序還。如果同一時刻既有老師還鑰匙又有老師取鑰匙,則老師們會先將鑰匙全還回去再取出。

今天開始的時候鑰匙是按編號從小到大的順序放在鑰匙盒裡的。有k位老師要上課,給出每位老師所需要的鑰匙、開始上課的時間和上課的時長,假設下課時間就是還鑰匙時間,請問最終鑰匙盒裡面鑰匙的順序是怎樣的?

思路:看起來很複雜,實則外強中乾, 把放和取分別看成兩種狀態進行操作即可

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

struct node

};priority_queueq;

int a[1001];

int main()

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

a[i]=i;

while(!q.empty())

}else

}} for(int i=1;iprintf("%d ",a[i]);

printf("%d\n",a[n]);

return 0;

}

CCF認證201709 2公共鑰匙盒

ccf認證201709 2公共鑰匙盒 吐槽一下 不知道是不是我的方法有問題,雖然思路挺簡單的,但是感覺 量對於第二題來說有一點點大呀。分析題目 1 建立teacher結構 鑰匙編號,上課開始時間,上課結束時間 鑰匙儲存陣列seq,上課開始時間有序陣列school begin,上課結束時間有序陣列sc...

CCF認證 2017 09 JSON查詢

考試時拿了90分,執行出錯,這次再看發現原因是有個陣列開小了 當時的思路大體是儲存每種值的字串,如果它有上層,也直接把上層儲存到字串裡 要記錄每個的型別,以及乙個數字指標指向key對應的值 查詢時就只需要暴力搜一遍有沒有符合的字串,再看它是什麼型別,對應輸出 然後就是處理輸入文字,我這裡寫的挺亂,先...

CCF 公共鑰匙盒

問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上...