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()
相关推荐
程序员龙叔1 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
用户8356290780514 小时前
使用 Python 操作 Word 内容控件
后端·python
通信小呆呆4 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben0444 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
小小工匠5 小时前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾5 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
码云骑士5 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python
何以解忧,唯有..6 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang