CCF201709 2 公共鑰匙盒

2021-09-25 13:47:45 字數 841 閱讀 7385

ccf201709-2 公共鑰匙盒

題目:

題目分析:

資料量不是很大,故可以使用暴力模擬。

1.先把資料按借出時間排序放入乙個陣列d,按歸還時間排序(同一時間歸還的,再按照鑰匙編號排序)放入另乙個陣列b;

2.模擬時間i從1到最後一把鑰匙歸還時間,如果在i時刻有借出鑰匙,則把鑰匙在鑰匙盒(陣列a)相應的位置置為0,如果在i時刻有歸還鑰匙,則查詢鑰匙盒中第乙個空位,歸還鑰匙。由於乙個時間可能有多把鑰匙歸還,需要使用迴圈,直到該時刻沒有鑰匙借出或者歸還。

3.對於同乙個時刻i,鑰匙應該先歸還,再借出。防止同一把鑰匙同一時刻歸還、借出的情況找不到鑰匙。

**如下,有詳細注釋

//ccf201709-2 公共鑰匙盒

#include#includeusing namespace std;

int n,k,a[1010];

struct nodeb[1010],d[1010];

int cmp(node i,node j)

sort(b,b+k,cmp); //按歸還時間排序

sort(d,d+k,cmp2); //按開始時間排序

int indb=0,indd=0;

for(int i=1;i<=b[k-1].e;i++)

}} for(int j=1;j<=n;j++)

} }

} for(int i=1;i<=n;i++)

cout<

return 0;

}

CCF 201709 2 公共鑰匙盒

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

CCF 201709 2 公共鑰匙盒

問題描述 試題編號 201709 2 試題名稱 公共鑰匙盒 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將...

CCF 201709 2 公共鑰匙盒

試題編號 201709 2 試題名稱 公共鑰匙盒 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到...