1.用佇列把輸入資料進行處理排序,time小的先執行;
2.time相同的,flag小的先執行(因為flag=1是借鑰匙,flag=0是還鑰匙);
3.time,flag都相同的,key小的先執行(因為同時還鑰匙,先從編號小的開始還);
eg:開始時第二個樣例,壓棧完
1 1 1
1 15 0
3 3 1
3 15 0
1 15 1
1 27 0
2 7 1
2 27 0
3 18 1
3 30 0
4 21 1
4 40 0
5 30 1
5 39 0
按照前面三個規則排序完(從上向下執行)
1 1 1
3 3 1
2 7 1
1 15 0
3 15 0
1 15 0
3 15 0
1 15 1
3 18 1
4 21 1
1 27 0
2 27 0
3 30 0
5 30 1
5 39 0
4 40 0
#include
#include
using namespace std;
struct node};
priority_queue q;
//優先佇列
intmain()
node x;
node temp;
for(i=
0;i)while
(!q.
empty()
)}}else
//還鑰匙 }}
}for
(i=0
;i) cout
}
CCF認證 2017 09 公共鑰匙盒(思路)
題目 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上有標...
CCF 公共鑰匙盒
問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上...
CCF 公共鑰匙盒
問題描述 有乙個學校的老師共用n個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到鑰匙盒中。鑰匙盒一共有n個掛鉤,從左到右排成一排,用來掛n個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上...