Added link to blog post
authorNeil Smith <NeilNjae@users.noreply.github.com>
Sun, 29 Dec 2024 12:42:35 +0000 (12:42 +0000)
committerNeil Smith <NeilNjae@users.noreply.github.com>
Sun, 29 Dec 2024 12:42:35 +0000 (12:42 +0000)
advent24/Main.hs

index 17c5266a002c1e7ea1326bd9ecc178e5386c5538..8359f3558fcd21e01d767a5aba170fa24d943022 100644 (file)
@@ -1,4 +1,4 @@
--- Writeup at https://work.njae.me.uk/2024/12/25/advent-of-code-2024-day-23/
+-- Writeup at https://work.njae.me.uk/2024/12/29/advent-of-code-2024-day-24/
 
 import AoC
 
@@ -87,8 +87,9 @@ isOutputWire (x:_) = x == 'z'
 wiresOutput :: Wires -> Int
 wiresOutput wires = M.foldlWithKey' go 0 outWires
   where outWires = M.filterWithKey (\k _ -> isOutputWire k) wires
-        outShift w = read $ drop 1 w
-        go acc w v = acc .|. (v .<<. outShift w)
+        -- outShift w = read $ drop 1 w
+        -- go acc w v = acc .|. (v .<<. outShift w)
+        go acc w v = acc .|. (v .<<. codeOfName w)
 
 unfoldFromWire :: Device -> String -> DeviceTree
 unfoldFromWire device wire = 
@@ -214,9 +215,6 @@ renamings device = d5
     d4 = renameWire "and00" "carry00" d3
     d5 = foldl renameCarry d4 [1..44]
 
-stf tree = putStrLn $ unlines $ take 15 $ lines $ drawTree $ fmap show tree
-
-
 -- parse the input file
 
 wiresDeviceP :: Parser (Wires, Device)