第五题不知哪里出问题,总是50%,不是时间复杂度和空间复杂度问题,总是出现语法错误和数组越界,是输入问题吗?求解 def dfs(item, temp_dict, result): if item in result: return result.add(item) for x in temp_dict[item]: dfs(x, temp_dict, result) if __name__ == "__main__": import sys N = int(sys.stdin.readline().strip()) M = int(sys.stdin.readline().strip()) if M > 0: line = sys.stdin.readline().strip() relation = list(map(int, line.split())) bucket = {} for i in range(0, 2 * M, 2): if relation[i + 1] not in bucket: bucket[relation[i + 1]] = [] bucket[relation[i + 1]].append(relation[i]) cnt = 0 for key in bucket.keys(): a = set() dfs(key, bucket, a) a.add(key) if len(a) == N: cnt += 1 print(cnt) else: print(N)
点赞 3

相关推荐

2025-12-19 21:53
门头沟学院 Java
想做OpenGL:不要一来就把自己定位这么低吧,把大厂当成目标,不断去学技术做项目,最后你至少能学到能找到中小厂的技术水平,你一上来就找这种两千块还要前后端都会的,其实对你用处不会很大,真去了也是打杂
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务