图论 | 98. 所有可达路径

98. 所有可达路径

题目链接: 98. 所有可达路径

思路

  1. 先创建邻接矩阵,再深搜
  2. 写代码是需要注意的是acm格式,输入的格式要转化为int,输出要转化为str,用map()实现。

dfs

python 复制代码
def dfs(grid,node,n,path,res):
    if node == n:
        res.append(path[:])
        return
    for j in range(len(grid[0])):
        if grid[node-1][j] == 1:
            path.append(j+1)
            dfs(grid,j+1,n,path,res)
            path.pop()

def main():
    # 构造邻接矩阵
    n,m = map(int,input().split())
    grid = [[0]*n for _ in range(n)]
    for _ in range(m):
        node1,node2 = map(int,input().split())
        grid[node1-1][node2-1] = 1

    res = []
    dfs(grid,1,n,[1],res)
    if not res:
        print(-1)
    else:
        for path in res:
            print(' '.join(map(str,path)))
    

if __name__ == "__main__":
    main()  
相关推荐
泛舟起晶浪2 天前
推导部分和-图论+dfs+连通块
算法·深度优先·图论
碳酸的唐2 天前
用python实现鼠标监听与手势交互
python·动态规划·图论
yuhao__z2 天前
代码随想录算法训练营第五十八天| 图论4—卡码网110. 字符串接龙,105. 有向图的完全联通
算法·图论
冲帕Chompa2 天前
代码随想录图论part03
图论
yuhao__z2 天前
代码随想录算法训练营第五十六天| 图论2—卡码网99. 岛屿数量(dfs & bfs)
算法·深度优先·图论
我想进大厂2 天前
洛谷---P1629 邮递员送信
c++·算法·图论
triticale2 天前
【数据结构】求有向图强连通分量的方法
数据结构·图论
啊阿狸不会拉杆2 天前
人工智能数学基础(十)—— 图论
人工智能·python·数学·算法·图论
方方土3333 天前
ABC 404
数据结构·算法·图论
jia_jia_LL4 天前
备战蓝桥杯国赛第一天-atcoder-beginner-contest404
c++·算法·蓝桥杯·图论