CCF2011709 2 公共鑰匙盒

2021-09-12 08:19:41 字數 814 閱讀 4430

思路一:簡單粗暴的模擬,以時間為線索,將取鑰匙和還鑰匙的時間進行進行排序,然後按時間迴圈,到達某時間點時執行取鑰匙或者還鑰匙操作;

思路二:以取還鑰匙的動作為線索,當時間跨度大時可以省去很多不必要的迴圈;

思路一:

// 思路一

/*公共鑰匙盒

思路:設定兩個陣列,乙個按取鑰匙的時間進行排序,

再乙個按還鑰匙的時間進行排序,按著時間走進行取還操作

*/ #include#include#includeusing namespace std;

const int n=1001;

int keybox[n];

struct stateintial[n],final[n];

bool cmp1(state s1,state s2)

//按時間順序取換鑰匙

sort(intial,intial+k,cmp1);

sort(final,final+k,cmp2);

int flag_f=0,flag_i=0;

for(int i=1;i<=maxtime;i++)

//再取

for(int m=flag_i;mi) break;

} }for(int i=0;i思路二

ps:寫**真是巨坑的事,總是錯了n次之後發現死在莫名其妙的地方,心累。。。

CCF 公共鑰匙盒

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

CCF 公共鑰匙盒

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

ccf公共鑰匙盒

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