#22804: 解法思路


es611543 (afa)

學校 : 基隆市私立二信高級中學
編號 : 93767
來源 : [114.24.37.174]
最後登入時間 :
2025-06-28 17:08:20

我寫了一個 判定函式 

bool can( const map<int,int> &pic , int add )

{

  若在pic後 加上 add 仍為雙遞增序列,則傳回 true,否則傳回 false

}

 

========主程式中=============

若A t 則由目前可用的編號num中,由小至大 呼叫 can ,找到最小的 可用編號,加入pic,並由num刪除

若D t 則由pic中將其刪除,但刪之前,查出其相片編號,放回num

 

我是用map<int,int>維護 pic 的{時間、相片編號} 、  並且用 set<int>維護目前可用的相片編號

map及set都有 erase, 還不錯用

 

======= 注意最後新增的2個編號,應該不同,除非從頭至尾都是同一個編號