CCF 公共鑰匙盒 C 201709 2

2021-09-02 14:10:30 字數 948 閱讀 7236

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個教室的鑰匙。一串鑰匙沒有固定的懸掛位置,但鑰匙上...