47 lines
849 B
Python
47 lines
849 B
Python
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
|
|
|
|
|
|
gs = [[0] * 21] * 21
|
|
|
|
def gridRoutes(x, y):
|
|
res = 0
|
|
|
|
if gs[x][y] > 0:
|
|
res = gs[x][y]
|
|
|
|
else:
|
|
if x == 1:
|
|
res = y + 1
|
|
elif y == 1:
|
|
res = x + 1
|
|
else:
|
|
res = gridRoutes(x - 1, y) + gridRoutes(x, y - 1)
|
|
|
|
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")
|
|
|
|
g = gridRoutes(3, 2)
|
|
gd = dumbGridRoutes(3, 2)
|
|
print(g, gd)
|
|
|
|
if __name__ == "__main__":
|
|
main() |