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個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到...