fork download
  1. from time import monotonic_ns
  2. import matplotlib.pyplot as plt
  3.  
  4.  
  5. def main():
  6. b = []
  7. for i in range(100, 500):
  8. t = monotonic_ns()
  9. f = grid_traveler(i, i)
  10. t = monotonic_ns() - t
  11. c = t / (i*i)
  12. b.append(c)
  13. plt.plot(b)
  14. plt.show()
  15.  
  16.  
  17. # Вычисляет, сколько путей есть из левого верхнего угла в правый нижний,
  18. # при высоте n и ширине m. Двигаться можно только вправо и вниз единичными шагами
  19. def grid_traveler(n: int, m: int, memo=None) -> int:
  20. if memo is None:
  21. memo = {}
  22. if n == 1 or m == 1:
  23. return 1
  24. if (key := (min(n, m), max(n, m))) not in memo:
  25. memo[key] = grid_traveler(n - 1, m, memo) + grid_traveler(n, m - 1, memo)
  26. return memo[key]
  27.  
  28.  
  29. if __name__ == '__main__':
  30. main()
  31.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Traceback (most recent call last):
  File "/usr/lib/python3.7/py_compile.py", line 143, in compile
    _optimize=optimize)
  File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "./prog.py", line 24
    if (key := (min(n, m), max(n, m))) not in memo:
            ^
SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.7/py_compile.py", line 147, in compile
    raise py_exc
py_compile.PyCompileError:   File "./prog.py", line 24
    if (key := (min(n, m), max(n, m))) not in memo:
            ^
SyntaxError: invalid syntax

stdout
Standard output is empty