#40494: C++詳解-Map & Pair


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [24.147.249.5]
最後登入時間 :
2024-10-28 09:54:40
b563. 3.魔法學校交換生問題 -- 102學年度桃竹苗區資訊學科能力競賽 | From: [220.130.163.227] | 發表日期 : 2024-05-25 11:30

使用 Pair<int, int> 的方式收 A 和 B,如果要配對成功的話就需要兩對一樣的數字但是不同排列方式。

宣告一個 Map<pair<int, int>, int>,如果 A > B,則判斷 Map[Pair] 中的資料是否 > 0,如果 > 0 的話,代表裡面有另外一邊可以配對的人,將答案 +1,將 A 和 B swap 之後將 Map[Pair]–。如果 A < B,則判斷 Map[Pair] 是否 < 0,如果 < 0 的話,代表裡面有另外一邊可以配對的人,將答案 +1,並將 Map[Pair]++。

 

範例程式碼

 
ZeroJudge Forum