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.有向图的完全可达性

相关推荐
qq_1728055917 小时前
Go 自建库的使用教程与测试
开发语言·后端·golang
久绊A17 小时前
Hydra-SSH 破解安全防范
开发语言·php
ZZHow102417 小时前
02OpenCV基本操作
python·opencv·计算机视觉
阿昭L17 小时前
c++中获取随机数
开发语言·c++
计算机学长felix17 小时前
基于Django的“酒店推荐系统”设计与开发(源码+数据库+文档+PPT)
数据库·python·mysql·django·vue
3壹17 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
站大爷IP17 小时前
Python随机数函数全解析:5个核心工具的实战指南
python
悟乙己18 小时前
使用 Python 中的强化学习最大化简单 RAG 性能
开发语言·python·agent·rag·n8n
max50060018 小时前
图像处理:实现多图点重叠效果
开发语言·图像处理·人工智能·python·深度学习·音视频
AI原吾18 小时前
玩转物联网只需十行代码,可它为何悄悄停止维护
python·物联网·hbmqtt