import os import math import numpy as np # Given a grid with start in one corner and goal in opposite corner, find # the number of paths you can take from start to goal. Do this for a grid # of 20 by 20 def gridRoutes(x, y, gs): res = 0 if gs[x][y] > 0: res = gs[x][y] else: if y > x: h = x x = y y = h if y == 1: res = x + 1 else: res = gridRoutes(x - 1, y, gs) + gridRoutes(x, y - 1, gs) gs[x][y] = res # print(x, y, res) return res def dumbGridRoutes(x, y): if x == 1: return y + 1 elif y == 1: return x + 1 else: return dumbGridRoutes(x, y - 1) + dumbGridRoutes(x - 1, y) def main(): print("Hello, this is Patrick") gss = [0] * 21 for i in range(21): gss[i] = [0] * 21 g = gridRoutes(20, 20, gss) # dg = dumbGridRoutes(3, 2) print(g) # print(gss) if __name__ == "__main__": main()