去官網看
大體思路寫在了注釋裡面,開兩個陣列分別記錄對應事務的開始時間和結束時間,進行排序,在每個時間點進行判斷是否存在歸還鑰匙亦或者是取走鑰匙的行為發生。
c++ **
#include
#include
using namespace std;
const int maxn =
1001
;int n, k;
int n1 =1;
int n2 =1;
int x[maxn]
, p[maxn]
;struct node
;node t1[maxn]
, t2[maxn]
;// 時間第一關鍵字 序號第二關鍵字
bool
cmp(node a, node b)
return a.time < b.time;
}// 歸還鑰匙
void re(
intid)}
}int main(
)for
(int i =
1; i <= k;
++i)
; node r2 =
;// t1儲存id和開始時間
t1[i]
= r1;
// t2儲存id和結束時間
t2[i]
= r2;
}// 排序
sort(t1 +
1, t1 +
1+ k,
cmp)
; sort(t2 +
1, t2 +
1+ k,
cmp)
;// s為所有活動中最早開始的時間
int s = t1[1]
.time;
// e為所有活動中最後結束的時間
int e = t2[k]
.time;
for(
int i = s; i <= e;
++i)
// 判斷是否還有任務未開始且開始時刻為當前時刻
while
((n1 <= k)&&
(t1[n1]
.time == i))}
for(
int i =
1; i <= n;
++i)
cout << endl;
system(
"pause");
return0;
}
參考CCF201709 02公共鑰匙盒
自己寫這題的時候有點靜不下心,去找網上的 看,看了之後更加靜不下心了。於是決定靜下心來自己寫這個題,我的這個 應該還是挺好懂的。試題編號 201709 2 試題名稱 公共鑰匙盒 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共...
CCF20170902 公共鑰匙盒100分
問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上...
20170902 公共鑰匙盒
問題描述 試題編號 201709 2 試題名稱 公共鑰匙盒 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將...