close
Content
"word"的定義是一串小寫字母組成的單詞。
"cool word"的定義是此單詞至少包含2個不同的字母,每個不同字母的出現次數皆不相同。
正式的定義如下:
令 w 為一個"word",S 為 w 中的字母集合,令 f(c) 表示w中c出現的次數(c 皆在 S 集合範圍內)。
當所有 f(c) 皆不相同時,w為一個"cool word"。
例如:"ada"為一個"cool word",因為 f(a) = 2,f(d) = 1,並且字母不相同。
"banana"也為一個"cool word",因為f(a) = 3,f(n) = 2,f(b) = 1。
"bbacccd"不是一個"cool word",因為f(a) = f(d) = 1。
其他一些"cool word"包括:mammal, needed, papaya, referee, senselessness。
請你讀取單詞列表並且計算"cool word"的數量。
Input
輸入包含多組測資。
每組測資第一行為一個整數n (1 ≤ n ≤ 10000),代表單詞列表長度。
接下來n行,每行包含一個單詞,該單詞包含至少1個且最多30個字母。
Output
對於每組測資,輸出測資case編號以及"cool word"的數量。
Sample Input #1
2 ada bbacccd 2 illness a
Sample Output #1
Case 1: 1 Case 2: 0
python:
from collections import Counter case_time=0 while True: try: ans=0 case_time+=1 n=int(input()) if n==0:break for _ in range(n): str=input() m=Counter(str) s=dict(m) arr00=len([k for k in s.keys()]) arr01=len(set([k for k in s.values()])) #print(arr00,arr01) if arr01==arr00: if arr00!=1:ans+=1 print(f'Case {case_time}: {ans}') except: break
文章標籤
全站熱搜