def all_paths(r, c):
    current = triangle[r][c]
if r < len(triangle) - 1:
    below_paths = all_paths(r + 1, c) + all_paths(r + 1, c + 1)
return [([current] + path) for path in below_paths]
Project Euler #18 — как перебрать все возможные пути в древовидной структуре с помощью Python?