Skip to content

Instantly share code, notes, and snippets.

@0e4ef622
0e4ef622 / solution.rs
Last active December 16, 2018 01:22
aoc day 15 2018
macro_rules! iter {
($item:expr) => (std::iter::once($item));
($item:expr, $($rest:tt)*) => (std::iter::once($item).chain(iter!($($rest)*)));
}
use std::collections::*;
#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Copy, Hash, Debug)]
enum Unit {
Elf,
Gnome,
}
@0e4ef622
0e4ef622 / gen.rs
Last active December 20, 2018 04:59
aoc day 16 2018
const OPERATIONS: [fn(usize, usize, usize, usize) -> usize; 16] = [
|a, ra, b, rb| ra+rb, // addr
|a, ra, b, rb| ra+b, // addi
|a, ra, b, rb| ra*rb, // mulr
|a, ra, b, rb| ra*b, // muli
|a, ra, b, rb| ra & rb, // banr
|a, ra, b, rb| ra & b, // bani
|a, ra, b, rb| ra | rb, // borr
|a, ra, b, rb| ra | b, // bori
|a, ra, _, rb| ra, // setr
pub trait TypeName {
const NAME: &'static str;
}
macro_rules! typename {
($($typ:ty,)*) => {
$(impl TypeName for $typ {
const NAME: &'static str = stringify!($typ);
})*
}
#!/usr/bin/env bash
declare -A small=(
['W']='ⱽ'
['A']='ᴬ'
['B']='ᴮ'
['D']='ᴰ'
['E']='ᴱ'
['G']='ᴳ'
['H']='ᴴ'
@0e4ef622
0e4ef622 / Cargo.toml
Created May 11, 2019 14:45
conrod bug
[package]
name = "bork"
version = "0.1.0"
authors = ["Matthew Tran <0e4ef622@gmail.com>"]
edition = "2018"
[dependencies]
# conrod_core = "0.63.0"
# conrod_piston = "0.63.0"
conrod_core = { git = "https://github.com/tdaffin/conrod", branch = "fix_crop" }
@0e4ef622
0e4ef622 / fizzbuzz.py
Last active November 20, 2019 02:42
what have you done
from hell import *
y (lambda f: lambda n:
n
(lambda x: lambda x:
f (pred (n)) (lambda x:
and_ (dividesBy (n) (nm(3))) (dividesBy (n) (nm(5)))
(prnts ("FizzBuzz"))
(dividesBy (n) (nm(3))
(prnts ("Fizz"))
@0e4ef622
0e4ef622 / solution.rs
Last active December 6, 2019 06:09
aoc 2019 day 6
use std::collections::*;
pub fn part1(input: &str) -> usize {
let mut graph = HashMap::new();
for line in input.lines() {
let mut s = line.split(")");
let c = s.next().unwrap();
let o = s.next().unwrap();
use std::io::BufRead;
fn main() {
let reader = std::io::BufReader::new(std::fs::File::open(std::env::args().nth(1).unwrap()).unwrap());
let mut input = String::new();
for line in reader.lines() {
for ch in line.unwrap().chars() {
match ch {
'#' => break,
' ' | '\t' | '\r' | '\n' => (),
c => input.push(c),
@0e4ef622
0e4ef622 / copypastacode.rs
Created December 7, 2019 05:36
aoc 2019 day 7
pub fn part1(input: &str) -> isize {
let mut max = 0isize;
let mut phases = [0,0,0,0,0];
for a in 0..5 {
for b in 0..5 {
if a==b { continue;}
for c in 0..5 {
if c==a { continue;}
if c==b { continue;}
for d in 0..5 {
@0e4ef622
0e4ef622 / intcodevm.rs
Created December 7, 2019 09:49
intcode vm from aoc 2019
use std::collections::VecDeque;
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub enum Status {
Ready,
WaitingForInput,
Finished,
}
#[derive(Clone, Debug)]