
All Roads Lead to Rome!

You are standing at the point (x, y) in the lattice grid of pairs of non-negative numbers, and wish to make your way to the origin point (0, 0). At any point, you are allowed to move either one step left or one step down. Furthermore, you are never allowed to step into any of the points in the tabu list (origin is never in tabu). This function should add up the number of different paths that lead from the point (x,y) to the origin (0,0) under these constraints.
Input: position as tuple of two integers (int) and tabu as list of positions.
Output: Integer (int).
Examples:
assert lattice_paths((3, 3), []) == 20 assert lattice_paths((3, 4), [(2, 2)]) == 17 assert lattice_paths((10, 5), [(6, 1), (2, 3)]) == 2063
Precondition:
- x >= 0 and y >= 0.
The mission was taken from Python CCPS 109. It is taught for Ryerson Chang School of Continuing Education by Ilkka Kokkarinen