Skip to content

Commit 5cab3c2

Browse files
committed
2024/25
1 parent d1bd1cf commit 5cab3c2

File tree

4 files changed

+65
-52
lines changed

4 files changed

+65
-52
lines changed

2024/Day25/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,3 @@ Out of ideas and time, The Historians agree that they should go back to check th
44
When you get there, you are surprised to discover that the door to his office is <em>locked</em>! You can hear someone inside, but knocking yields no response. The locks on this floor are all fancy, expensive, virtual versions of [five-pin tumbler locks](https://en.wikipedia.org/wiki/Pin_tumbler_lock), so you contact North Pole security to see if they can help open the door.
55

66
_Visit the website for the full story and [full puzzle](https://adventofcode.com/2024/day/25) description._
7-
8-
A simple one for the last day to ease out. I used some linq as usual.

2024/Day25/Solution.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ namespace AdventOfCode.Y2024.Day25;
77
class Solution : Solver {
88

99
public object PartOne(string input) {
10-
int[] parsePattern(string[] lines) =>
11-
Enumerable.Range(0, lines[0].Length).Select(x =>
10+
int[] parsePattern(string[] lines) =>
11+
Enumerable.Range(0, lines[0].Length).Select(x =>
1212
Enumerable.Range(0, lines.Length).Count(y => lines[y][x] == '#')
1313
).ToArray();
14-
15-
bool match(int[] k, int[] l) =>
14+
15+
bool match(int[] k, int[] l) =>
1616
Enumerable.Range(0, k.Length).All(i => k[i] + l[i] <= 7);
1717

18-
var patterns = input.Split("\n\n").Select(b=>b.Split("\n"));
18+
var patterns = input.Split("\n\n").Select(b => b.Split("\n"));
1919
var keys = patterns.Where(p => p[0][0] == '.').Select(parsePattern).ToList();
2020
var locks = patterns.Where(p => p[0][0] == '#').Select(parsePattern).ToList();
2121

22-
return keys.Sum(k => locks.Count(l => match(l,k)));
22+
return keys.Sum(k => locks.Count(l => match(l, k)));
2323
}
2424
}

2024/SplashScreen.cs

+44-29
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void Show() {
4949
Write(0xcccccc, false, "| 3 ");
5050
Write(0xffff66, false, "**\n ");
5151
Write(0xcccccc, false, "|");
52-
Write(0x427322, false, "#");
52+
Write(0x488813, false, "@");
5353
Write(0x5eabb4, false, "..");
5454
Write(0x427322, false, "@");
5555
Write(0xe3b585, false, "'. ~ ");
@@ -68,10 +68,10 @@ public void Show() {
6868
Write(0xcccccc, false, "| 4 ");
6969
Write(0xffff66, false, "**\n ");
7070
Write(0xcccccc, false, "|");
71-
Write(0x488813, false, "_");
72-
Write(0x5eabb4, false, ".~.");
7371
Write(0x4d8b03, false, "_");
74-
Write(0x488813, false, "@");
72+
Write(0x5eabb4, false, ".~.");
73+
Write(0x1461f, false, "_");
74+
Write(0x4d8b03, false, "@");
7575
Write(0xe3b585, false, "'.. ~ ~ ");
7676
Write(0xffff66, true, "*");
7777
Write(0xcccccc, false, "| | ");
@@ -84,10 +84,9 @@ public void Show() {
8484
Write(0xffff66, false, "**\n ");
8585
Write(0xcccccc, false, "| ");
8686
Write(0xffffff, false, "||| ");
87-
Write(0x488813, false, "#");
88-
Write(0x4d8b03, false, "@");
89-
Write(0x427322, false, "@");
90-
Write(0x1461f, false, "@");
87+
Write(0x7fbd39, false, "#");
88+
Write(0x427322, false, "@@");
89+
Write(0x488813, false, "@");
9190
Write(0xe3b585, false, "'''...");
9291
Write(0xcccccc, false, "| |");
9392
Write(0xa25151, false, "... ");
@@ -98,12 +97,16 @@ public void Show() {
9897
Write(0xcccccc, false, "| 6 ");
9998
Write(0xffff66, false, "**\n ");
10099
Write(0xcccccc, false, "|");
101-
Write(0x488813, false, "#");
100+
Write(0x427322, false, "@");
102101
Write(0xffffff, false, "~~~");
103-
Write(0x7fbd39, false, "#@");
104-
Write(0x488813, false, "@ @ ");
105-
Write(0x7fbd39, false, "# ");
106-
Write(0x427322, false, "@ ");
102+
Write(0x7fbd39, false, "@");
103+
Write(0x427322, false, "#");
104+
Write(0x488813, false, "@");
105+
Write(0x427322, false, "@");
106+
Write(0x7fbd39, false, "#");
107+
Write(0x1461f, false, "@ ");
108+
Write(0x4d8b03, false, "# ");
109+
Write(0x7fbd39, false, "@");
107110
Write(0xcccccc, false, "| |");
108111
Write(0xa5a8af, false, "/\\ ");
109112
Write(0xa25151, false, "''. ");
@@ -158,7 +161,8 @@ public void Show() {
158161
Write(0xcccccc, false, "| |");
159162
Write(0xa5a8af, false, "/\\ ");
160163
Write(0xa25151, false, "..' ");
161-
Write(0xcccccc, false, "| | ");
164+
Write(0xcccccc, false, "| | ");
165+
Write(0xb5ed, false, "' ");
162166
Write(0xffffff, false, ". ");
163167
Write(0xcccccc, false, "| 11 ");
164168
Write(0xffff66, false, "**\n ");
@@ -170,7 +174,8 @@ public void Show() {
170174
Write(0xffff66, true, ":");
171175
Write(0x333333, false, "::");
172176
Write(0xcccccc, false, "| | ");
173-
Write(0xffffff, false, ". ");
177+
Write(0xffffff, false, ". ");
178+
Write(0x9933, true, ".");
174179
Write(0xcccccc, false, "| 12 ");
175180
Write(0xffff66, false, "**\n ");
176181
Write(0xcccccc, false, "|");
@@ -180,16 +185,17 @@ public void Show() {
180185
Write(0x9900, true, ":");
181186
Write(0x333333, false, "::");
182187
Write(0xcccccc, false, "| |");
183-
Write(0x91cc, false, "~ ");
184-
Write(0xffffff, false, ".' ");
188+
Write(0xff9900, true, ". ");
189+
Write(0xffffff, false, ".' ");
190+
Write(0x9933, true, ". ");
185191
Write(0xcccccc, false, "| 13 ");
186192
Write(0xffff66, false, "**\n ");
187193
Write(0xcccccc, false, "|");
188194
Write(0xcc00, false, "...");
189195
Write(0xffffff, false, "'..''");
190196
Write(0xcccccc, false, "| |");
191-
Write(0xffffff, true, ". ");
192-
Write(0x333333, false, ":");
197+
Write(0xffffff, true, ". ");
198+
Write(0x333333, false, ".:");
193199
Write(0x9900, true, ":::");
194200
Write(0x333333, false, ":");
195201
Write(0xcccccc, false, "| |");
@@ -231,7 +237,8 @@ public void Show() {
231237
Write(0x5555bb, false, "~ ");
232238
Write(0xcc00, false, ":");
233239
Write(0xcccccc, false, "| |");
234-
Write(0x666666, false, " '. ");
240+
Write(0x666666, false, " '.");
241+
Write(0x333333, false, ". ");
235242
Write(0xcccccc, false, "| |");
236243
Write(0x666666, false, "┬o┤ten├─");
237244
Write(0xcccccc, false, "| 17 ");
@@ -251,8 +258,7 @@ public void Show() {
251258
Write(0x5555bb, false, "~ ");
252259
Write(0xcc00, false, "..' ");
253260
Write(0xcccccc, false, "| |");
254-
Write(0x666666, false, ": '. ");
255-
Write(0x333333, false, ".");
261+
Write(0x666666, false, ": '. ");
256262
Write(0xcccccc, false, "| |");
257263
Write(0x666666, false, "─┘├┬┬┬┴─");
258264
Write(0xcccccc, false, "| 19 ");
@@ -274,9 +280,8 @@ public void Show() {
274280
Write(0x66ff, false, ".-");
275281
Write(0xcccccc, false, "((");
276282
Write(0x66ff, false, "---.");
277-
Write(0xcccccc, false, "'------. | ");
278-
Write(0x333333, false, ".");
279-
Write(0x666666, false, ":");
283+
Write(0xcccccc, false, "'------. |");
284+
Write(0x666666, false, " :");
280285
Write(0xff0000, false, "|");
281286
Write(0xcccccc, false, "\\| ");
282287
Write(0x333399, false, "~ ");
@@ -342,10 +347,20 @@ public void Show() {
342347
Write(0xaaaaaa, false, "_ ");
343348
Write(0xcccccc, false, "| 24 ");
344349
Write(0xffff66, false, "**\n ");
345-
Write(0x666666, false, "|/ \\ \\ '------'/ / \\ \\| '-.! /^\\ / \\.~~./ \\.-' ");
346-
Write(0xcccccc, false, "25 ");
347-
Write(0xffff66, false, "*");
348-
Write(0x666666, false, "*\n ");
350+
Write(0xcccccc, false, "|");
351+
Write(0x880000, false, "/ \\ ");
352+
Write(0xff0000, false, "\\ ");
353+
Write(0x66ff, false, "'------'");
354+
Write(0xaaaaaa, false, "/ ");
355+
Write(0xe6410b, false, "/ \\ ");
356+
Write(0xaaaaaa, false, "\\");
357+
Write(0xcccccc, false, "| '-.");
358+
Write(0x9b715b, false, "! /^\\ ");
359+
Write(0xaaaaaa, false, "/ \\");
360+
Write(0x5eabb4, false, ".~~.");
361+
Write(0xaaaaaa, false, "/ \\");
362+
Write(0xcccccc, false, ".-' 25 ");
363+
Write(0xffff66, false, "**\n ");
349364
Write(0x888888, false, "'----------------------' '------------------' \n \n");
350365

351366
Console.ForegroundColor = color;

0 commit comments

Comments
 (0)