#41721: C++詳解


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [24.147.249.5]
最後登入時間 :
2024-10-28 09:54:40
a552. 模型 | From: [24.147.249.5] | 發表日期 : 2024-08-20 03:33

使用 Map<int, Map<int, int>> 來紀錄每一個零件的前後有哪些零件。收完資料之後跑迴圈判斷哪一個零件沒有前面所需的零件,就宣告一個 Map<int, int> 來紀錄等一下 BFS 的起點,將其的 Map 值 ++。跑完迴圈之後就跑 BFS。

在 BFS 中,會需要一個 Map<int, int> start 來紀錄起點,並且宣告一個 Map<int, int> push 來紀錄已經使用過哪些點了。宣告一個 While 迴圈,當 start.size() == 0 時就結束迴圈,裡面要判斷 start 的第一個資料是什麼,並且將其刪除,還需判斷其的前面還有沒有需要用的零件還沒用。如果都通過的話就將其輸出。

 

範例程式碼

 
ZeroJudge Forum