#38358: 喝張大啦


yp11251273@yphs.tp.edu.tw (704-31張鈞勉)

學校 : 臺北市私立延平高級中學
編號 : 239174
來源 : [203.72.178.1]
最後登入時間 :
2024-06-18 17:44:30
b265. Q11286 - Conformity | From: [203.72.178.1] | 發表日期 : 2023-11-14 17:40

import itertools # 使用高效迭代器 itertools while True: try: n = int(input()) # 學生人數 if n == 0: break # 如果學生人數等於 0 就跳出 a = [] # 建立空串列,進行課程代號的排序 for i in range(n): at = input().split() # 將課程組合的代號拆成串列 at.sort() # 從小到大排序 a.append(''.join(at)) # 將代號組合成字串,作為排序依序,存入 a 串列中 a.sort() # a 排序 b = itertools.groupby(a) # 使用 itertools.groupby 方法,取得相鄰元素的數量 c = [] # 建立空串列,記錄最熱門課程的人數 for key, val in b: c.append(len(list(val))) # c 記錄數量 m = max(c) # 取出最大值,就是最熱門課程的人數 co = c.count(m) if m == 1: print(len(a)) # 如果最大值是 1,表示所有課程組合都只有一個人選,印出所有組合的數量 else: print(m*co) # 反之印出熱門組合的數量 except: break

 
ZeroJudge Forum