日期:2025年11月7日
ZeroJudge 題目連結:g489. 社團點點名
解題想法
題目說明有問題,測資中有不在社團名單裡的出席者,所以答案有可能是負的。用集合 members 儲存社團成員學號,再用另一個集合 present 儲存非社團成員但有出席的人,最後將兩者的數量相減即可。
Python 程式碼
使用時間約為 44 ms,記憶體約為 3.6 MB,通過測試。
m, n = map(int, input().split()) # 社團人數 m,有到的人數 n
members = set([input() for _ in range(m)]) # 社團成員學號
present = set() # 非社團成員但有出席的人
for _ in range(n): # 讀取 n 行資料
s = input() # 學號
if s in members: members.remove(s) # s 是社團成員,從 members 移除 s
else: present.add(s) # s 不是社團成員,s 加入 present
print(len(members) - len(present))