17 lines
449 B
Haskell
17 lines
449 B
Haskell
|
#!/usr/bin/env runghc
|
||
|
module Day11.Part1 where
|
||
|
|
||
|
import Day11
|
||
|
import Data.List (find)
|
||
|
import Data.Array (elems)
|
||
|
|
||
|
main = interact (show . solve . parse)
|
||
|
|
||
|
-- unlines $ map (render . snd) $ takeWhile (not . isUnchanged) ticks
|
||
|
solve start = length $ filter (== Occupied) $ elems stasis
|
||
|
where
|
||
|
simulation = iterate tick start
|
||
|
ticks = zip simulation (tail simulation)
|
||
|
isUnchanged = uncurry (==)
|
||
|
(Just (stasis, _)) = find isUnchanged ticks
|