图论 | 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()  
相关推荐
君义_noip16 小时前
洛谷 P3388 【模板】割点(割顶)
c++·算法·图论·信息学奥赛·csp-s
不穿格子的程序员2 天前
从零开始写算法——图论篇1:岛屿数量 + 腐烂的橘子
算法·深度优先·图论·dfs·bfs
Snow_day.2 天前
【补题记录】AT441,442
数据结构·算法·贪心算法·动态规划·图论
罗湖老棍子2 天前
[USACO06NOV] Roadblocks G(洛谷P2865)
算法·图论·dijkstra·最短路算法·次短路算法
spcier2 天前
图论拓扑排序-Kahn 算法
算法·图论
拼好饭和她皆失3 天前
图论:拓扑排序讲解,以及 Dijkstra算法,Bellman-Ford算法,spfa算法,Floyd算法模板大全
算法·图论·最短路
tobias.b3 天前
408真题解析-2010-7-数据结构-无向连通图
数据结构·算法·图论·计算机考研·408真题解析
wen__xvn4 天前
基础算法集训第20天:Dijkstra
算法·图论
wen__xvn4 天前
基础算法集训第18天:深度优先搜索
算法·深度优先·图论
想逃离铁厂的老铁5 天前
Day50 >> 98、可达路径 + 广度优先搜索理论基础
算法·深度优先·图论