搜狗笔试-第二题
第一题超时。。
第三题没看。。
第二题70%(不知道哪些样例没考虑到?)
import sys line1 = sys.stdin.readline().strip() value1 = list(map(int, line1.split())) k = value1[0] n = value1[1] tree = {} for i in range(n): line2 = sys.stdin.readline().strip() value2 = list(map(int, line2.split())) tree[value2[1]] = (value2[0]-1, value2[2:]) def max_time(root): if root in tree: sub = tree[root][1] sub_time = [] for s in sub: sub_time.append(max_time(s)) sub_time.sort(reverse=True) y = 1 z = k while z < len(sub_time): if sub_time[z] == sub_time[0]: y += 1 z += k else: break return sub_time[0]+y return 0 res = max_time(0) print(res)