#22804: 解法思路


es611543 (afa)

學校 : 基隆市私立二信高級中學
編號 : 93767
來源 : [36.227.102.179]
最後登入時間 :
2024-09-25 22:24:13
b549. 5.數位相片檔名 -- 102學年度北基區北三區資訊學科能力競賽 | From: [118.167.31.3] | 發表日期 : 2020-10-02 23:44

我寫了一個 判定函式 

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個編號,應該不同,除非從頭至尾都是同一個編號

 

 
ZeroJudge Forum