標籤:次數 python strong NPU 資訊 添加 輸出 輸入 乙級
鎚子剪刀布
題目描述
大家應該都會玩“鎚子剪刀布”的遊戲:
現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。
輸入描述:
輸入第1行給出正整數N(<=105),即雙方交鋒的次數。隨後N行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。C代表“鎚子”、J代表“剪刀”、B代
表“布”,第1個字母代表甲方,第2個代表乙方,中間有1個空格。
輸出描述:
輸出第1、2行分別給出甲、乙的勝、平、負次數,數字間以1個空格分隔。第3行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有1個空格。如果解不唯
一,則輸出按字母序最小的解。
輸入例子:
10
C J
J B
C B
B B
B C
C C
C B
J B
B C
J J
輸出例子:
5 3 2
2 3 5
B B
python:
num = int(input())J = [0,0,0]Y = [0,0,0]J2 = {‘B‘:0.2,‘C‘:0.1,‘J‘:0} #添加小數是為了讓其在相同數字時,按字母排序輸出Y2 = {‘B‘:0.2,‘C‘:0.1,‘J‘:0} #for i in range(num): a = input().split() if a[0] == a[1]: J[1] += 1 Y[1] += 1 elif (a[0]==‘C‘ and a[1]==‘J‘) or (a[0]==‘J‘ and a[1]==‘B‘) or (a[0]==‘B‘ and a[1]==‘C‘): J[0] += 1 Y[2] += 1 J2[a[0]] += 1 else: J[2] += 1 Y[0] += 1 Y2[a[1]] += 1print(J[0],J[1],J[2])print(Y[0],Y[1],Y[2])print(list(J2.keys())[list(J2.values()).index(max(J2.values()))],list(Y2.keys())[list(Y2.values()).index(max(Y2.values()))])
乙級(Basic Level) 1008 鎚子剪刀布