day 6 brute force

This commit is contained in:
Joshua Seigler 2024-12-07 00:01:31 -05:00
parent ad6829def6
commit ded85a988b
3 changed files with 22 additions and 10 deletions

View file

@ -83,12 +83,12 @@
"time": null "time": null
}, },
"part2": { "part2": {
"solved": false, "solved": true,
"result": "1878", "result": "1753",
"attempts": [ "attempts": [
"1878" "1878"
], ],
"time": 2128.985844 "time": 37138.280767
} }
}, },
{ {

View file

@ -16,7 +16,7 @@
[![Day](https://badgen.net/badge/03/%E2%98%85%E2%98%85/green)](src/day03) [![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/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/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/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/08/%E2%98%86%E2%98%86/gray)
![Day](https://badgen.net/badge/09/%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 Day 06
Time part 1: 1.668ms Time part 1: -
Time part 2: - Time part 2: 37138.281ms
Both parts: 1.668ms Both parts: 37138.281ms
``` ```
``` ```
@ -243,8 +243,8 @@ Both parts: -
``` ```
``` ```
Total stars: 11/50 Total stars: 12/50
Total time: 324.318ms Total time: 37460.931ms
``` ```
<!--/RESULTS--> <!--/RESULTS-->

View file

@ -75,7 +75,19 @@ const part2 = (rawInput: string) => {
position = nextPosition 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({ run({