aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkaiwu <kaiwu2004@gmail.com>2022-04-04 19:26:22 +0800
committerkaiwu <kaiwu2004@gmail.com>2022-04-04 19:26:22 +0800
commit1078cd54eb79b30fa4614e303cb8df78d2439e31 (patch)
tree6516a996ab55b3a2d563093aa60119d045cf3893 /src
parent770404cb5d2a65787dd612396dfd8248d20e61dc (diff)
downloadadvent-of-code-1078cd54eb79b30fa4614e303cb8df78d2439e31.tar.gz
advent-of-code-1078cd54eb79b30fa4614e303cb8df78d2439e31.zip
day2s
Diffstat (limited to 'src')
-rw-r--r--src/2016/day2/README.md31
-rw-r--r--src/2016/day2/aoc.cpp5
-rw-r--r--src/2016/day2/aoc.h7
-rw-r--r--src/2016/day2/input5
-rw-r--r--src/2017/day2/README.md0
-rw-r--r--src/2017/day2/aoc.cpp5
-rw-r--r--src/2017/day2/aoc.h7
-rw-r--r--src/2017/day2/input0
-rw-r--r--src/2018/day2/README.md0
-rw-r--r--src/2018/day2/aoc.cpp5
-rw-r--r--src/2018/day2/aoc.h7
-rw-r--r--src/2018/day2/input0
-rw-r--r--src/2019/day2/README.md0
-rw-r--r--src/2019/day2/aoc.cpp5
-rw-r--r--src/2019/day2/aoc.h7
-rw-r--r--src/2019/day2/input0
-rw-r--r--src/2020/day2/README.md0
-rw-r--r--src/2020/day2/aoc.cpp5
-rw-r--r--src/2020/day2/aoc.h7
-rw-r--r--src/2020/day2/input0
-rw-r--r--src/2021/day2/README.md0
-rw-r--r--src/2021/day2/aoc.cpp5
-rw-r--r--src/2021/day2/aoc.h7
-rw-r--r--src/2021/day2/input0
-rw-r--r--src/CMakeLists.txt11
25 files changed, 119 insertions, 0 deletions
diff --git a/src/2016/day2/README.md b/src/2016/day2/README.md
new file mode 100644
index 0000000..3f56228
--- /dev/null
+++ b/src/2016/day2/README.md
@@ -0,0 +1,31 @@
+--- Day 2: Bathroom Security ---
+
+You arrive at Easter Bunny Headquarters under cover of darkness. However, you left in such a rush that you forgot to use the bathroom! Fancy office buildings like this one usually have keypad locks on their bathrooms, so you search the front desk for the code.
+
+"In order to improve security," the document you find says, "bathroom codes will no longer be written down. Instead, please memorize and follow the procedure below to access the bathrooms."
+
+The document goes on to explain that each button to be pressed can be found by starting on the previous button and moving to adjacent buttons on the keypad: U moves up, D moves down, L moves left, and R moves right. Each line of instructions corresponds to one button, starting at the previous button (or, for the first line, the "5" button); press whatever button you're on at the end of each line. If a move doesn't lead to a button, ignore it.
+
+You can't hold it much longer, so you decide to figure out the code as you walk to the bathroom. You picture a keypad like this:
+
+1 2 3
+4 5 6
+7 8 9
+
+Suppose your instructions are:
+
+ULL
+RRDDD
+LURDL
+UUUUD
+
+ You start at "5" and move up (to "2"), left (to "1"), and left (you can't, and stay on "1"), so the first button is 1.
+ Starting from the previous button ("1"), you move right twice (to "3") and then down three times (stopping at "9" after two moves and ignoring the third), ending up with 9.
+ Continuing from "9", you move left, up, right, down, and left, ending with 8.
+ Finally, you move up four times (stopping at "2"), then down once, ending with 5.
+
+So, in this example, the bathroom code is 1985.
+
+Your puzzle input is the instructions from the document you found at the front desk. What is the bathroom code?
+
+
diff --git a/src/2016/day2/aoc.cpp b/src/2016/day2/aoc.cpp
new file mode 100644
index 0000000..55f4247
--- /dev/null
+++ b/src/2016/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2016 {
+
+}
diff --git a/src/2016/day2/aoc.h b/src/2016/day2/aoc.h
new file mode 100644
index 0000000..4239dbc
--- /dev/null
+++ b/src/2016/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2016 {
+
+}
diff --git a/src/2016/day2/input b/src/2016/day2/input
new file mode 100644
index 0000000..cdfd7c3
--- /dev/null
+++ b/src/2016/day2/input
@@ -0,0 +1,5 @@
+RRLLDDRLLDURLDUUDULDLRLDDDRLDULLRDDRDLUUDLLRRDURRLUDUDULLUUDRUURRDDDDURUULLDULRLRRRDLLLRDLRDULDLRUUDRURLULURUUDRLUUDRDURUUDDDRDLLRDLUDRLUUUUUULDURDRDDURLDDRLUUDLRURRDRLDRDLRRRLURULDLUUURDRLUULRDUDLDRRRDDLDDDRLRLLDRDUURDULUURRRRUDLLUDLDRLLRRULLLRDRDRRDRDRDUULUDLULRLLDRULURLURDLLDDRRLUDRDUULLDRULLLRLULUDDLURLUULDRUDRLDUUDDLLLRURDRLDRLUUUUUUDRUDLDLULULRRURRDDDUDRRRDDDLDDLRLLDDUULLUDRURDDDRDDLURRURULULUUDRLLUUDDDRUULRDLDLLRUUDRRLRRRULLRRURUDDUUDULDUDUUUDURUDUUDUDRULUDULRDUDUUUUDLLURDLRRUDURDDUULLDLLRDUDULRLRDURLRDRDLRDLRURUDURLULDDDLDRLULLRLURRLLDLRLLULLDUURUUDRULDDUDLDDR
+LUURULURUURRRDLRDRDDDUDULRDDLUUDUUULRLRRLRUDDLDLURLRULUUDUUDLDRLLUURLUUURDUDLUULLUUDUUDRDUDUDURLLURDUDLDLDDLDUDRLLUULDDRUDDDRLRUDRDUDULLRRDLLDDLRLLLRLRURURLLDULUDDUULULDRRLUURDULRULUDULDULDULRULLLRRDRLDRLDUULLDDULRLUDLLLULDDLULLUULUURRULDLUULDRRUDDDLRDLULDULDRRDLRRRLRUDURUDDDUDDURRRLDUULRDDLRRRLRUULDDURDRDUULDLLULULDRDRUULDLULRUUDUDLUDRLRDURRRRLULURDRLLLUDRRRDRURRLRLLUURDLURLURDULURUDDULLDUUDDLRLUULRDUUDRDRUDRLUUUDURLLRDRRDRURDDDDULLDDUDLDUUDLRLURURLDRRDRDUDLRRDRUDRDLURRLLLULULULRUDDDULULULDDRRLULUUUURDDURURLDLDDDDDRULUUUULLUDDDRRLUULDUULRUUDUURRLLRDDRUURL
+RRRLLLLUULLRRLLDRULULLLRDLLDLDDLURUDLULUULLRURLDULLUDULDRURDURLULLDUDDRLLRUURDLLULUURLULLDLRRDDDULUURRUDRDRDURULDLLURUDLLLDDUDLLLLRLDRDRDDRRDLUUDLLLULLLLLDDRDLULLLLRURRRUUUULLDLRDLDLRRRULRRRRLDLLRDURULDDLURURUULULDRDDDURLRDDRDULLUURUDUUUDRDRRLURULULRLUUDDRDULDRLULULUULRLDRLUDRRDDDRUDDRDDRDDRRLRDLRURDULULRRUUURDRRRDURDDRUDULUUDRDDLDRDDDULDLRDUULDUULRUDLRRDDDLLDDLLLRRDLDUULUULULURRULLRRUDUDRUDRRRLDLRLURRLUDLLLUUDDUDRURUUDDURDURULRLDUDRDLULDUDRUDDDR
+DRDRRUUUUURRLUDLDLRUUULRLDLRRRDDUDLUUDUDDLRDUDLRRLLURUUDULLUDLULLDLLDDULUDDUDUULURLDLDDUUDDRDDRLUURLUUDUDUDURULLDRLDDRUDLURRRLDRLRULDDLDDLDDDULDUDDLLDULUUDUDDUULDRLDRLRURDULUDDRRLRRLRRDULDRRDUDUDRLDURRLRLRDLRLRRLRDDDRULLULULDUDDLDLULRLLURRRRULUULRUDLDLRDLLURURUUURDRRRLDDRLRLURDDURDDUURUUUDDLRUURRRDLLUULUDRLDDRDDDDUUDRLRRDULDULRDLLLRULULLRDRULLRDLRUUURRRURLRRDLDRDDLURLDLULLDUURRDULUUURRLLDDUUUULDDDDLRDDDRDLDLLUURLDDRULUDDRDDDLRDU
+DRRRLURUDUDUULDLLURLUUDDRRRDUDLURLLDRRLLDDURULUDUURURULLRLDLLUURDLLDLLDLDLRUDLLLLDRLLUDLLDULDDRRURDRRLRLRRUURRUDURRLDRDLDURUULUDRLLURLUDURDULLRLLDLURLRRDLLLLUUDRDULLDLURDULDRDURRRLDRLURULULURLLLRRRUULRLRRDRDDDLULRLRRDLUDDUUUUUDRRDLDUDUURLDRRRLRUDRULDRLURUULRDLDDLRURDLURULRRLDURLDUURURULRDUDRRUDUDDLRLUURURULDDLULULULDULRRLRRURUURLRLLDRRLUDLUURDRRURRUUDULRLURRLRLRDDRURDDLRRDUDRLLUUUDULRDRULUURRLRLRDUDULDRDLLUDRDLLDRULDLUUURDDRDDUDDULLLDRRDDUDDDDLDDRLRULRRRURRDRULLDDDURDDLURRDDDUDLURRUDUDLLDDDLRUUDRLRRLRDUUUDDL
diff --git a/src/2017/day2/README.md b/src/2017/day2/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2017/day2/README.md
diff --git a/src/2017/day2/aoc.cpp b/src/2017/day2/aoc.cpp
new file mode 100644
index 0000000..ed2d9d3
--- /dev/null
+++ b/src/2017/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2017 {
+
+}
diff --git a/src/2017/day2/aoc.h b/src/2017/day2/aoc.h
new file mode 100644
index 0000000..ff6f19e
--- /dev/null
+++ b/src/2017/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2017 {
+
+}
diff --git a/src/2017/day2/input b/src/2017/day2/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2017/day2/input
diff --git a/src/2018/day2/README.md b/src/2018/day2/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2018/day2/README.md
diff --git a/src/2018/day2/aoc.cpp b/src/2018/day2/aoc.cpp
new file mode 100644
index 0000000..585f144
--- /dev/null
+++ b/src/2018/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2018 {
+
+}
diff --git a/src/2018/day2/aoc.h b/src/2018/day2/aoc.h
new file mode 100644
index 0000000..2b99a0b
--- /dev/null
+++ b/src/2018/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2018 {
+
+}
diff --git a/src/2018/day2/input b/src/2018/day2/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2018/day2/input
diff --git a/src/2019/day2/README.md b/src/2019/day2/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2019/day2/README.md
diff --git a/src/2019/day2/aoc.cpp b/src/2019/day2/aoc.cpp
new file mode 100644
index 0000000..f0cbc1b
--- /dev/null
+++ b/src/2019/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2019 {
+
+}
diff --git a/src/2019/day2/aoc.h b/src/2019/day2/aoc.h
new file mode 100644
index 0000000..66da764
--- /dev/null
+++ b/src/2019/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2019 {
+
+}
diff --git a/src/2019/day2/input b/src/2019/day2/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2019/day2/input
diff --git a/src/2020/day2/README.md b/src/2020/day2/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2020/day2/README.md
diff --git a/src/2020/day2/aoc.cpp b/src/2020/day2/aoc.cpp
new file mode 100644
index 0000000..849bad9
--- /dev/null
+++ b/src/2020/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2020 {
+
+}
diff --git a/src/2020/day2/aoc.h b/src/2020/day2/aoc.h
new file mode 100644
index 0000000..4239dbc
--- /dev/null
+++ b/src/2020/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2016 {
+
+}
diff --git a/src/2020/day2/input b/src/2020/day2/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2020/day2/input
diff --git a/src/2021/day2/README.md b/src/2021/day2/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2021/day2/README.md
diff --git a/src/2021/day2/aoc.cpp b/src/2021/day2/aoc.cpp
new file mode 100644
index 0000000..7a3c895
--- /dev/null
+++ b/src/2021/day2/aoc.cpp
@@ -0,0 +1,5 @@
+#include "aoc.h"
+
+namespace aoc2021 {
+
+}
diff --git a/src/2021/day2/aoc.h b/src/2021/day2/aoc.h
new file mode 100644
index 0000000..7733f90
--- /dev/null
+++ b/src/2021/day2/aoc.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "common.h"
+
+namespace aoc2021 {
+
+}
diff --git a/src/2021/day2/input b/src/2021/day2/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/2021/day2/input
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1ef32e0..c12aad9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -24,11 +24,22 @@ set(SOLUTION_FILES
"2015/day22/aoc.cpp"
"2016/day1/aoc.cpp"
+ "2016/day2/aoc.cpp"
+
"2017/day1/aoc.cpp"
+ "2017/day2/aoc.cpp"
+
"2018/day1/aoc.cpp"
+ "2018/day2/aoc.cpp"
+
"2019/day1/aoc.cpp"
+ "2019/day2/aoc.cpp"
+
"2020/day1/aoc.cpp"
+ "2020/day2/aoc.cpp"
+
"2021/day1/aoc.cpp"
+ "2021/day2/aoc.cpp"
)
add_library(solution SHARED ${SOLUTION_FILES})