ZeroJudge o087. 王子的名字
解題思路
這題給出了一個 Python 的函式,因此這裡較適合用 Python 解。必須利用此函式為各種名字評分,並依照分數排列名字。既然提姆已經給出算分函式,我們就不必知道算分函式的作用,知道他會回傳分數就好。
程式碼
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
def Evaluate(Name: str): if(type(Name) != str): return -1 Score = 0 NameLen = len(Name) for i in range(NameLen): CharCode = ord(Name[i]) Score += ((CharCode * 1123) % 1002) while (CharCode > 0): Score += (CharCode % 10) CharCode = (CharCode // 10) return (Score % 101)
n = int(input())
name_list = [] for i in range(n): name = input() score = Evaluate(name) name_list.append((name, score))
sorted_name_list = sorted(name_list, key=lambda x: x[1])
for i in sorted_name_list: print(i[0], i[1])
|