fork download
  1. import random
  2.  
  3. def bestpath(l):
  4. n = len(l)
  5. best = ['{']*n
  6. best[0] = l[0][0]
  7. for i in range(1, n):
  8. for k in range(i+1):
  9. prev = min(l[i-1][k-1], l[i-1][k])
  10. if prev == best[i-1]:
  11. best[i] = min(best[i], l[i][k])
  12. else:
  13. l[i][k] = '{'
  14. return best
  15.  
  16. l = []
  17. n = 5
  18. for i in range(1,n+1):
  19. l.append([chr(97 + random.randint(0,5)) for _ in range(i)])
  20. l[-1].append('{')
  21. print(''.join(l[-1][:-1]))
  22.  
  23. print('--------')
  24. print(''.join(bestpath(l)))
Success #stdin #stdout 0.02s 11616KB
stdin
Standard input is empty
stdout
c
fd
dff
acbf
daaad
--------
cdfba