blob: 41b93cf66530a50cf20d9265331a39afa7f77b52 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
grid_bad 0 _ = 1
grid_bad r c
| r == c = 2 * (grid_bad (r-1) c)
| otherwise = (grid_bad (r-1) c) + (grid_bad r (c-1))
grid 0 _ = 1
grid 1 n = n + 1
grid 2 n = sum [1..n] + n + 1
grid r c
| r == c = 2 * (grid (r-1) c)
| otherwise = (grid (r-1) c) + (grid r (c-1))
p15 :: Int -> Int
p15 n = grid n n
main = putStrLn $ "Solution: " ++ show (p15 20)
|