Browse Source

Day 22 part 1.

master
Chris Smith 4 years ago
parent
commit
19a9252e4b
Signed by: Chris Smith <chris@chameth.com> GPG Key ID: 3A2D4BBDC4A3C9A9
3 changed files with 132 additions and 0 deletions
  1. 2
    0
      22/answers.txt
  2. 100
    0
      22/input.txt
  3. 30
    0
      22/main.go

+ 2
- 0
22/answers.txt View File

@@ -0,0 +1,2 @@
1
+4649
2
+¯\_(ツ)_/¯

+ 100
- 0
22/input.txt View File

@@ -0,0 +1,100 @@
1
+deal with increment 10
2
+cut -5908
3
+deal with increment 75
4
+cut 8705
5
+deal with increment 49
6
+cut -1609
7
+deal with increment 69
8
+cut 7797
9
+deal into new stack
10
+cut -6211
11
+deal with increment 10
12
+cut 6188
13
+deal with increment 57
14
+cut -1659
15
+deal with increment 16
16
+cut -5930
17
+deal into new stack
18
+cut -2758
19
+deal with increment 33
20
+cut -3275
21
+deal with increment 39
22
+cut -1301
23
+deal with increment 50
24
+cut 7837
25
+deal with increment 74
26
+cut 1200
27
+deal with increment 23
28
+deal into new stack
29
+cut -9922
30
+deal with increment 65
31
+cut 4896
32
+deal with increment 61
33
+deal into new stack
34
+cut 5945
35
+deal with increment 9
36
+deal into new stack
37
+deal with increment 2
38
+cut -8205
39
+deal with increment 75
40
+cut -4063
41
+deal with increment 40
42
+deal into new stack
43
+cut -7366
44
+deal with increment 51
45
+cut 7213
46
+deal into new stack
47
+cut 4763
48
+deal with increment 43
49
+cut 3963
50
+deal with increment 50
51
+cut -8856
52
+deal with increment 43
53
+cut 8604
54
+deal with increment 72
55
+cut -7026
56
+deal into new stack
57
+deal with increment 25
58
+cut 7843
59
+deal with increment 71
60
+cut -1272
61
+deal with increment 64
62
+cut 7770
63
+deal with increment 18
64
+cut -5278
65
+deal with increment 67
66
+deal into new stack
67
+deal with increment 18
68
+deal into new stack
69
+cut 2216
70
+deal with increment 42
71
+cut 3206
72
+deal with increment 14
73
+deal into new stack
74
+cut -6559
75
+deal into new stack
76
+deal with increment 12
77
+deal into new stack
78
+deal with increment 75
79
+deal into new stack
80
+deal with increment 41
81
+cut 7378
82
+deal with increment 44
83
+cut 774
84
+deal with increment 60
85
+cut 7357
86
+deal with increment 41
87
+cut 479
88
+deal with increment 40
89
+cut 5146
90
+deal with increment 13
91
+cut 2017
92
+deal into new stack
93
+deal with increment 35
94
+cut 9218
95
+deal into new stack
96
+deal with increment 22
97
+cut -2462
98
+deal with increment 23
99
+cut -1820
100
+deal with increment 69

+ 30
- 0
22/main.go View File

@@ -0,0 +1,30 @@
1
+package main
2
+
3
+import (
4
+	"fmt"
5
+	"github.com/csmith/aoc-2019/common"
6
+)
7
+
8
+func main() {
9
+	input := common.ReadFileAsStrings("22/input.txt")
10
+	deckSize := 10007
11
+	position := 2019
12
+	for _, line := range input {
13
+		var n int
14
+		if "deal into new stack" == line {
15
+			position = deckSize - 1 - position
16
+		} else if _, err := fmt.Sscanf(line, "cut %d", &n); err == nil {
17
+			n = (n + deckSize) % deckSize
18
+			if position < n {
19
+				position += deckSize - n
20
+			} else {
21
+				position -= n
22
+			}
23
+		} else if _, err := fmt.Sscanf(line, "deal with increment %d", &n); err == nil {
24
+			position = (position * n) % deckSize
25
+		} else {
26
+			panic(fmt.Sprintf("Unrecognised line: %s", line))
27
+		}
28
+	}
29
+	println(position)
30
+}

Loading…
Cancel
Save