福田哪家建设网站好/免费网站seo优化
题目
最后一个测试点运行超时有点严格,一直都是O(n),但无论怎么写都会在超时边缘徘徊。
解决办法
if __name__ == '__main__':n = int(input())p = 0m = {("J", "B"): 0, ("B", "C"): 0, ("C", "J"): 0, ("J", "C"): 0, ("C", "B"): 0, ("B", "J"): 0}for i in range(n):a, b = input().split()if a == b:p += 1else:m[(a, b)] += 1aj = m[("J", "B")]ab = m[("B", "C")]ac = m[("C", "J")]aw = ab + ac + ajma = max(aj, ac, ab)bc = m[("J", "C")]bb = m[("C", "B")]bj = m[("B", "J")]mb = max(bj, bc, bb)r = ""if ma == ab:r += "B "elif ma == ac:r += "C "else:r += "J "if mb == bb:r += "B"elif mb == bc:r += "C"else:r += "J"print(aw, p, n-aw-p)print(n-aw-p, p, aw)print(r)