Unable to load image

Advent of Code Leaderboard: Day 19

Star 1Star 2TotalUser Avg
@TwoLargeSnakesMating00h 53m 33s00h 20m 17s01h 13m 50s00h 29m 56s
@hbtz01h 41m 50s00h 06m 09s01h 47m 59s00h 50m 51s
@justcool39304h 30m 13s00h 48m 14s05h 18m 27s02h 40m 17s
@Platybells10h 41m 28s00h 15m 46s10h 57m 14s05h 29m 17s
@LetsUnpackThis11h 20m 47s00h 13m 44s11h 34m 31s01h 50m 28s
@DrClaus13h 40m 14s00h 15m 39s13h 55m 53s07h 38m 44s
Sneed's Feeduck and Seeduck11h 24m 18s03h 55m 58s15h 20m 16s02h 10m 26s
@Westerly01h 16m 21sNaTNone07h 28m 33s
18
Jump in the discussion.

No email address required.

day 18:

const obj = fs.readFileSync('/tmp/i','utf8').split('\n').filter(a=>a).map(a => (a.split(',').map)(a => (+a));
const fm = a => a.join(',');
const p = {};
obj.map(a => p[fm(a)]=1);
const nb = b => [0,1,2].flatMap(i => [1,-1].map(s=>{const o=[...b];o[i]+=s;return o;}));
const po = {};
const b = pyzip([0,1,2].map(i => [ a => Math.min(...a)-2, a => Math.max(...a)+3 ].map(f => f(obj.map(a => a[i])))));
const fr = ([[b[1][0]-1,b[0][1],b[0][2]]]);
while (fr.length) {    const a = fr.pop(); if ([0,1,2].some(i=>a[i]<b[0][i]||a[i]>=b[1][i])) continue; if (po[fm(a)]||p[fm(a)]) continue; po[fm(a)]=1; fr.push(...nb(a)); }
p1: obj.flatMap(nb).filter(a => (!p[fm(a)])).length
p2: obj.flatMap(nb).filter(a => (po[fm(a)]&&!p[fm(a)])).length
Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.