Skip to content

Instantly share code, notes, and snippets.

@salty-horse
salty-horse / day19b.rs
Last active December 24, 2015 12:06
Advent of Code - day 19b (Doesn't terminate in a reasonable time, but the first result it prints while running is the correct one)
use std::fs::File;
use std::io::BufReader;
use std::io::BufRead;
use std::collections::{HashMap, VecDeque};
// Applies each transformation rule once on s
fn transform(s: &str, replacements: &Vec<(String, String)>) -> Vec<String> {
let mut results: Vec<String> = Vec::new();
for &(ref to, ref from) in replacements.iter() {
for (ix, _) in s.match_indices(from) {
@salty-horse
salty-horse / day19a.rs
Last active December 24, 2015 11:21
Advent of Code - day 19 part 1
use std::fs::File;
use std::io::BufReader;
use std::io::BufRead;
use std::collections::HashSet;
fn main() {
let input_fname = "day19_input.txt";
let f = File::open(input_fname).unwrap();
let mut replacements: Vec<(String, String)> = Vec::new();
@salty-horse
salty-horse / day12.rs
Created December 22, 2015 16:18
Advent of Code day 12
extern crate serde; // 0.6.6
extern crate serde_json; // 0.6.0
use std::fs::File;
use std::io::BufReader;
use serde_json::Value as Value;
fn sum_numbers(json: &Value) -> i64 {
match *json {
Value::I64(n) => n as i64,
@salty-horse
salty-horse / day5.rs
Created December 14, 2015 22:48
Advent of Code day 5
#![feature(plugin)]
#![plugin(regex_macros)]
extern crate regex;
use std::fs::File;
use std::io::BufReader;
use std::io::BufRead;
fn passes_rule_1(s: &str) -> bool {
@salty-horse
salty-horse / day9.rs
Created December 14, 2015 22:37
Advent of Code day 9
extern crate regex;
extern crate permutohedron;
use std::fs::File;
use std::io::BufReader;
use std::io::BufRead;
use std::collections::{HashMap, HashSet};
use regex::Regex;
use permutohedron::LexicalPermutation;
@salty-horse
salty-horse / day7.rs
Created December 12, 2015 18:35
Advent of Code day 7 http://adventofcode.com/
use std::fs::File;
use std::io::BufReader;
use std::io::BufRead;
use std::collections::HashMap;
#[derive(Debug)]
struct Wire {
source: WireSource,
target: String,
}
@salty-horse
salty-horse / generate_back_csv.py
Last active December 10, 2015 11:57
Generate a CSV of patterns for a card game
#!/usr/bin/env python
import os
import random
from itertools import izip
def get_neighbors(coords):
neighbors = set()
for (x, y) in coords:
neighbors.update(