Skip to content

Instantly share code, notes, and snippets.

#include <array>
#include <iostream>
#include <queue>
enum direction { n = 0, s = 1, e = 2, w = 3 };
enum state { red = 0, yellow = 1, red_n = 2, red_s = 3, red_e = 4, red_w = 5 };
constexpr std::array<int, 4> dx = {0, 0, 1, -1};
constexpr std::array<int, 4> dy = {-1, 1, 0, 0};
constexpr std::array<char, 4> dc = {'^', 'v', '>', '<'};
@dllu
dllu / 24.py
Last active December 24, 2020 06:14
24
#!/usr/bin/env python
import re
import cmath
import math
with open('24.txt') as f:
a = f.read()[:-1]
lines = a.split('\n')
directions = [1, -1, 1j, -1j, -1 + 1j, 1 - 1j]
repl = [('ne', 2), ('nw', 4), ('sw', 3), ('se', 5), ('e', 0), ('w', 1)]
@dllu
dllu / 23.rs
Last active December 23, 2020 17:50
23
fn main() {
const MAX: usize = 1_000_000usize;
let input = [1, 2, 3, 4, 8, 7, 5, 9, 6];
let nodes = input.iter().map(|i| i - 1).chain(9..MAX);
let mut nex = [0usize; MAX];
let mut last: usize = MAX - 1;
for i in nodes {
nex[last] = i;
@dllu
dllu / 21.py
Created December 21, 2020 08:03
21
#!/usr/bin/env python
import re
import cmath
import math
with open('21s.txt') as f:
a = f.read()[:-1].split('\n')
asdf = {}
often = {}
for line in a:
@dllu
dllu / 20_viz.py
Created December 20, 2020 19:50
20 viz
#!/usr/bin/env python
import re
import cmath
import math
import cv2
import numpy as np
import time
def edges(v):
@dllu
dllu / 20.py
Created December 20, 2020 06:53
20
#!/usr/bin/env python
import re
import cmath
import math
def edges(v):
return [
v[0], ''.join(vv[-1] for vv in v),
rev((v[-1])),
@dllu
dllu / 18.py
Created December 18, 2020 05:57
18
#!/usr/bin/env python
import re
import cmath
import math
def wat(x):
while '+' in x:
m = re.search(r'(\d+ \+ \d+)', x)
s = m.group()
@dllu
dllu / 16.py
Created December 16, 2020 05:40
16
#!/usr/bin/env python
import re
import cmath
import math
with open('16s.txt') as f:
a = f.read()[:-1]
defs, yourneigh = a.split('\n\nyour ticket:\n')
your, neigh = yourneigh.split('\n\nnearby tickets:\n')
va = {}
@dllu
dllu / 14.py
Created December 14, 2020 23:41
14 part 2
#!/usr/bin/env python
import re
import cmath
import math
mem = {}
def asdf(mask, v, val):
global mem
@dllu
dllu / 13.py
Created December 13, 2020 05:52
13
#!/usr/bin/env python
import re
import cmath
import math
def gcd(a, b):
if a == 0:
return b
if b == 0: