# C > J > B > C
n = int(input())
win, draw, lose = 0, 0, 0
list_A, list_B = [0, 0, 0], [0, 0, 0]
ans = ['B', 'C', 'J']
def solve(list1):
mm, ind = -1, 0
for i in range(0, len(list1)):
if list1[i] > mm:
mm = list1[i]
ind = i
return ind
for _ in range(n):
a, b = input().split(' ')
if a == 'C':
if b == 'C':
draw += 1
elif b == 'J':
win += 1
list_A[1] += 1
else:
lose += 1
list_B[0] += 1
elif a == 'J':
if b == 'C':
lose += 1
list_B[1] += 1
elif b == 'J':
draw += 1
else:
win += 1
list_A[2] += 1
else:
if b == 'C':
win += 1
list_A[0] += 1
elif b == 'J':
lose += 1
list_B[2] += 1
else:
draw += 1
print(win, draw, lose)
print(lose, draw, win)
print(ans[solve(list_A)], ans[solve(list_B)])
本题思路:显然统计两人中一人的胜负情况即可,另一人即是他的相对情况,对于最后一个空使用一个list按照字典序统计胜利次数,然后从头开始寻找最大值即可
python要减少使用那些迭代器的函数,那样很容易超时,尤其是在算法竞赛中需要大量读入的题目中(N > )