From ded85a988b8478ed6ab502ec0356d59f63da3a35 Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Sat, 7 Dec 2024 00:01:31 -0500 Subject: [PATCH] day 6 brute force --- .aocrunner.json | 6 +++--- README.md | 12 ++++++------ src/day06/index.ts | 14 +++++++++++++- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.aocrunner.json b/.aocrunner.json index ae1450a..d14d301 100644 --- a/.aocrunner.json +++ b/.aocrunner.json @@ -83,12 +83,12 @@ "time": null }, "part2": { - "solved": false, - "result": "1878", + "solved": true, + "result": "1753", "attempts": [ "1878" ], - "time": 2128.985844 + "time": 37138.280767 } }, { diff --git a/README.md b/README.md index 865dd55..1128509 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ [![Day](https://badgen.net/badge/03/%E2%98%85%E2%98%85/green)](src/day03) [![Day](https://badgen.net/badge/04/%E2%98%85%E2%98%85/green)](src/day04) [![Day](https://badgen.net/badge/05/%E2%98%85%E2%98%85/green)](src/day05) -[![Day](https://badgen.net/badge/06/%E2%98%85%E2%98%86/yellow)](src/day06) +[![Day](https://badgen.net/badge/06/%E2%98%85%E2%98%85/green)](src/day06) ![Day](https://badgen.net/badge/07/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/08/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/09/%E2%98%86%E2%98%86/gray) @@ -104,9 +104,9 @@ Both parts: 63.594ms ``` Day 06 -Time part 1: 1.668ms -Time part 2: - -Both parts: 1.668ms +Time part 1: - +Time part 2: 37138.281ms +Both parts: 37138.281ms ``` ``` @@ -243,8 +243,8 @@ Both parts: - ``` ``` -Total stars: 11/50 -Total time: 324.318ms +Total stars: 12/50 +Total time: 37460.931ms ``` diff --git a/src/day06/index.ts b/src/day06/index.ts index 9a2459b..a404dc2 100644 --- a/src/day06/index.ts +++ b/src/day06/index.ts @@ -75,7 +75,19 @@ const part2 = (rawInput: string) => { position = nextPosition } } - return walk([Math.floor(rawCol / (width + 1)), rawCol % (width + 1)]) + // nevermind recursion I guess we will brute force + const start = [Math.floor(rawCol / (width + 1)), rawCol % (width + 1)] + console.log("Working...") + for (let r = 0; r < input.length; r++) { + for (let c = 0; c < width; c++) { + if (input[r][c] !== '#') { + walk(start, [r,c]) + } + } + process.stdout.write(`\r${Math.floor(r / input.length * 100)}%`) + } + console.log('\nDone!') + return obstructions.size } run({