projects
/
advent-of-code-16.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1d5f253
)
Using lazy lists works eventually
author
Neil Smith
<neil.git@njae.me.uk>
Fri, 16 Dec 2016 08:55:19 +0000
(08:55 +0000)
committer
Neil Smith
<neil.git@njae.me.uk>
Fri, 16 Dec 2016 08:55:19 +0000
(08:55 +0000)
advent15l.hs
patch
|
blob
|
history
diff --git
a/advent15l.hs
b/advent15l.hs
index e3c97fb2cb92f263dd68e7c361ab70e4ee25ab2b..f04ab9c85103337c12aa3bab83c98f7dac9878d8 100644
(file)
--- a/
advent15l.hs
+++ b/
advent15l.hs
@@
-12,8
+12,8
@@
part1 :: [[Int]] -> IO ()
part1 disks = print $ head $ filter (canFall disks) [0..]
part2 :: [[Int]] -> IO ()
part1 disks = print $ head $ filter (canFall disks) [0..]
part2 :: [[Int]] -> IO ()
-part2 disks = print $ head $ filter (canFall disks2) [0..
5000000
]
- where disks2 =
id $! map (take 5000000) $
disks ++ [drop 7 $ drop 0 $ cycle [0..(11-1)]]
+part2 disks = print $ head $ filter (canFall disks2) [0..]
+ where disks2 = disks ++ [drop 7 $ drop 0 $ cycle [0..(11-1)]]
canFall :: [[Int]] -> Int -> Bool
canFall ds i = all (\d -> (d!!i) == 0) ds
canFall :: [[Int]] -> Int -> Bool
canFall ds i = all (\d -> (d!!i) == 0) ds