ccf認證201709-2公共鑰匙盒
吐槽一下:
不知道是不是我的方法有問題,雖然思路挺簡單的,但是感覺**量對於第二題來說有一點點大呀。
分析題目:
1、建立teacher結構(鑰匙編號,上課開始時間,上課結束時間),鑰匙儲存陣列seq,上課開始時間有序陣列school_begin,上課結束時間有序陣列school_end;
2、對鑰匙陣列seq進行初始化;
3、依次把資料讀入,新建teacher,分別讀入上課開始時間有序陣列school_begin和上課結束時間有序陣列school_end;
4、用sort使得school_begin和school_end有序;
5、依次遍歷school_begin取鑰匙(把seq裡相應鑰匙的位置置為0),但是注意取鑰匙前,要把當前時間之前的已經上完課的鑰匙全部還了(把相應的鑰匙放到seq裡第乙個為0的位置,在school_end裡刪除這個元素);
6、迴圈5至結束;
7、列印seq。
無環境
visual c++6.0
#include
#include
#include
//#include
using
namespace std;
struct teacher};
bool
cmp_begin
(teacher a, teacher b)
bool
cmp_end
(teacher a, teacher b)
intmain()
sort
(school_begin.
begin()
, school_begin.
end(
), cmp_begin)
;//上課開始時間從小到大排序
sort
(school_end.
begin()
, school_end.
end(
), cmp_end)
;//上課結束時間從小到大排序
for(
int iii=
0; iiischool_end.
erase
(school_end.
begin()
+jj)
;//由於已經還了鑰匙,把這個記錄刪除
jj--;}
}//再取一把鑰匙
for(
int j=
0; j}//把剩下的鑰匙都還了
for(
int jjj=
0; jjjsize()
; jjj++)}
school_end.
erase
(school_end.
begin()
+jjj)
;//由於已經還了鑰匙,把這個記錄刪除
jjj--;}
for(
int x=
0; xsize()
; x++
)return0;
}
無 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個教室,按照規定,所有的鑰匙都必須放在公共鑰匙盒裡,老師不能帶鑰匙回家。每次老師上課前,都從公共鑰匙盒裡找到自己上課的教室的鑰匙去開門,上完課後,再將鑰匙放回到...