Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- solve m n = if m * n == 0
- then 1
- else solve (m-1) n + solve m (n-1)
- solve_memoized m n = last r
- where
- r :: [Int]
- r = map f [(i, j) | i <- [0..m], j <- [0..n]]
- f (0,_) = 1
- f (_,0) = 1
- f (i,j) = c (i-1,j) + c (i,j-1)
- c (k,l) = r !! (k*(n+1)+l)
- main = do
- print $ solve 2 2
- print $ solve_memoized 2 2
- print $ solve 3 2
- print $ solve_memoized 3 2
- print $ solve 4 2
- print $ solve_memoized 4 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement