mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-07 10:50:36 +00:00
27 lines
883 B
Python
27 lines
883 B
Python
pyramide = [["x"], ["y", "z"], ["a", "b", "c"]]
|
|
# tableau triangulaire meilleur rendement avec un double boucle
|
|
# exemple:
|
|
# [1],[4,2],[9,7,3],[10,6,100,1]
|
|
# meilleur chemin 100, 7, 4, 1 (on ne peut pas faire 100 9 4 1 car 100 et 9 sont eloigner d'une distance > 1 au niveau de l'abcisse dans les étages)
|
|
|
|
|
|
def meilleur_rendement(pyramide: list[list[int]]):
|
|
copie_l = [ligne for ligne in pyramide[::-1]]
|
|
pyramide = pyramide[::-1]
|
|
for i in range(1, len(pyramide)):
|
|
for j in range(len(pyramide[i])):
|
|
pyramide[i][j] += max(pyramide[i - 1][j], pyramide[i - 1][j + 1])
|
|
return pyramide[-1][0]
|
|
|
|
|
|
def print_pyramide(pyramide):
|
|
for l in pyramide:
|
|
print(f"{l}\n")
|
|
return None
|
|
|
|
|
|
if __name__ == "__main__":
|
|
pyramide1 = [[1], [4, 2], [9, 7, 3], [10, 6, 100, 1]]
|
|
print_pyramide(pyramide1[::-1])
|
|
print(meilleur_rendement(pyramide1))
|