98. 所有可達路徑
題目鏈接: 98. 所有可達路徑
思路
- 先創建鄰接矩陣,再深搜
- 寫代碼是需要注意的是acm格式,輸入的格式要轉化為int,輸出要轉化為str,用map()實現。
dfs
def dfs(grid,node,n,path,res):if node == n:res.append(path[:])returnfor 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] = 1res = []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()