Day49-图论

图论理论基础 | 代码随想录

深度优先搜索理论基础 | 代码随想录

广度优先搜索理论基础 | 代码随想录

可达路径-98

98. 可达路径

python 复制代码
def dfs(graph,cur,n,path,result):
    if cur == n:
        result.append(path.copy())
        return
    for i in range(n+1):
        if graph[cur][i]:
            path.append(i)
            dfs(graph,i,n,path,result)
            path.pop()

def main():
    n,m = map(int,input().split())
    # 节点编号从1开始,所以下标增加到n+1
    graph = [[0] * (n+1) for _ in range(n+1)]
    for _ in range(m):
        i,o = map(int,input().split())
        graph[i][o] = 1
    result = []  # 二维数组,放全部的结果
    path = [1]  # 放的是单一路径
    dfs(graph,1,n,path,result)
    if not result:
        print("-1")
    else:
        for path in result:
            print(' '.join(map(str,path)))

if __name__ == '__main__':
    main()
相关推荐
大闲在人30 分钟前
8. 供应链与制造过程术语:产能
算法·制造·供应链管理·智能制造·工业工程
一只小小的芙厨35 分钟前
寒假集训笔记·以点为对象的树形DP
c++·算法
历程里程碑39 分钟前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
weixin_3954489140 分钟前
mult_yolov5_post_copy.c_cursor_0205
c语言·python·yolo
执风挽^1 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
Z9fish1 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
纤纡.1 小时前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python
晓13131 小时前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
iAkuya1 小时前
(leetcode)力扣100 61分割回文串(回溯,动归)
算法·leetcode·职场和发展
梵刹古音1 小时前
【C语言】 指针与数据结构操作
c语言·数据结构·算法