代码随想录算法训练营第五十天|卡玛网98. 所有可达路径

1 卡玛网98. 所有可达路径

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

文章链接:代码随想录

思路:不说思路,看视频我都没有完全理解的题目呀

1.1 文章讲解

def dfs(graph,x,n,result,path):
    if x==n:
        result.append(path.copy())
        return
    for i in range(1,n+1):
        if graph[x][i] ==1:
            path.append(i)
            dfs(graph,i,n,result,path)
            path.pop()
def main():
    n,m = map(int,input().split())
    graph = [[0]*(n+1) for _ in range(n+1)]
    for _ in range(m):
        s,t = map(int,input().split())
        graph[s][t] = 1
    
    result=[]
    path = []
    path.append(1)
    
    dfs(graph,1,n,result,path)
    
    if not result:
        print(-1)
    else:
        for path in result:
            print(' '.join(map(str,path)))

if __name__ == '__main__':
    main()

1.2 本题小结

  1. 主要就是理解这里面的数值的一个对应关系,然后就是去尝试一遍,其实调试完以后就明白了
  2. 主要就是调试吧,还挺有意思的

2 今日小结

  1. 这一块就是主要了解了很多概念吧,但是做的话,自己尝试debug一次以后,我就明白了这些
  2. 做了以后发现还是有点意思的,这一块的内容
posted @ 2024-12-13 17:53  小方呀0524  阅读(12)  评论(0)    收藏  举报