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
arrow
arrow
    文章標籤
    python 高中生程式解題 UVA
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()