aboutsummaryrefslogtreecommitdiff
path: root/2021/16/first.go
diff options
context:
space:
mode:
Diffstat (limited to '2021/16/first.go')
-rw-r--r--2021/16/first.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/2021/16/first.go b/2021/16/first.go
new file mode 100644
index 0000000..df0d644
--- /dev/null
+++ b/2021/16/first.go
@@ -0,0 +1,33 @@
+package main
+
+import (
+ "bufio"
+ "fmt"
+ "os"
+
+ "git.adyxax.org/aoc/2021/16/bits"
+)
+
+var (
+ score = 0
+)
+
+func computeScore(b *bits.Bits) {
+ score += int(b.Version)
+ for _, sub := range b.Operators {
+ computeScore(sub)
+ }
+}
+
+func main() {
+ scanner := bits.NewScanner(bufio.NewReader(os.Stdin))
+ for {
+ b := scanner.Scan()
+ fmt.Println(b)
+ if b == nil {
+ break
+ }
+ computeScore(b)
+ }
+ fmt.Println(score)
+}