X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=advent13.hs;h=719bc6a202b5823d7b02c021deb642148ad88891;hb=def5eb181275889c4f50ea8411dff81bd565efb2;hp=94669fd3b7ea54ac6e81f031cc2d2c853163f77b;hpb=33654d3a7b40a63bdeb95cc42076a436a02e9444;p=advent-of-code-16.git diff --git a/advent13.hs b/advent13.hs index 94669fd..719bc6a 100644 --- a/advent13.hs +++ b/advent13.hs @@ -1,5 +1,6 @@ import Data.List ((\\), nub, sortOn) import Data.Bits (popCount) +import Data.Maybe (fromMaybe) type Pos = (Int, Int) @@ -14,19 +15,19 @@ main = do part1 :: IO () -part1 = print $ length $ tail $ extractJust $ aStar [[(1, 1)]] [] +part1 = print $ length $ tail $ fromMaybe [] $ aStar [[(1, 1)]] [] part2 :: IO () part2 = do print $ length $ tail $ edl 50 [[(1, 1)]] [] putStrLn $ showRoomR 30 25 $ edl 50 [[(1, 1)]] [] -extractJust :: Maybe [a] -> [a] -extractJust Nothing = [] -extractJust (Just x) = x - +-- extractJust :: Maybe [a] -> [a] +-- extractJust Nothing = [] +-- extractJust (Just x) = x + isWall :: Int -> Int -> Bool -isWall x y = (popCount n) `mod` 2 == 1 +isWall x y = odd $ popCount n where n = x*x + 3*x + 2*x*y + y + y*y + seed