213、【图论】有向图的完全联通(Python)

题目描述


原题链接:105. 有向图的完全联通

代码实现

python 复制代码
import collections

n, k = list(map(int, input().split()))
adjacency = collections.defaultdict(list)
for _ in range(k):
    head, tail = list(map(int, input().split()))
    adjacency[head].append(tail)

visited_node = set()

def bfs(root, adjacency):
    global visited_node

    deque = collections.deque()
    deque.append(root)

	# 每次从队列中取出一个节点,查看邻接表中邻接的节点加入其中,进行BFS
    while deque:
        node = deque.popleft()
        visited_node.add(node)		# 遍历过该节点则记录,最后看N个节点是否能被遍历完

        for tail in adjacency[node]:
            deque.append(tail)

        del adjacency[node]
    
    return 

# 使用BFS从1开始遍历,如果所有节点可以被遍历完,则说明完全联通
bfs(1, adjacency)
if len(visited_node) == n:
    print(1)
else:
    print(-1)

参考文章:105.有向图的完全可达性

相关推荐
Zhou1411365 分钟前
SpringSecurity_02_授权与高级功能
开发语言·python
码匠许师傅39 分钟前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http
摇滚侠1 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python
小小小小钰儿2 小时前
1.5-Python网络编程
开发语言·网络·python·web安全·计算机·网络安全
hiahiahia1232 小时前
实现完整 Tool Dispatcher
开发语言·前端
keke.shengfengpolang2 小时前
2026年金融风控岗技术能力拆解:SQL取数、Python建模、评分卡项目,校招面试到底考什
python
kyrie_sakura2 小时前
大模型学习7 -- 深度学习2 -- 张量
python·深度学习
AC赳赳老秦2 小时前
公开音频转写信息提取:OpenClaw 处理发布会与听证会文本并提取核心决策信息
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw