Rebased projecteuler folder, now includes all contest programming stuff
This commit is contained in:
54
projecteuler/015/main.py
Normal file
54
projecteuler/015/main.py
Normal file
@@ -0,0 +1,54 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user