Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. @memo = {}
  2. def dfs(left,x=0,y=0)
  3. return 0 if (y < 0) || (y == 0 && x < 0) #
  4. pair = [x,y]
  5. return 0 if @memo[pair] # 到達済みなら見ない
  6. return 1 if left == 1 # 最後のブロックを[x,y]に置いた
  7. @memo[pair] = true
  8.  
  9. return dfs(left-1,x-1,y) + dfs(left-1,x,y-1) + dfs(left-1,x+1,y) + dfs(left-1,x,y+1)
  10. end
  11.  
  12. p dfs(4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement