Skip to content

Instantly share code, notes, and snippets.

View icub3d's full-sized avatar

Joshua Marsh icub3d

  • Optum
  • USA
View GitHub Profile
@icub3d
icub3d / day02.rs
Created December 23, 2025 00:07
Solution for Flip Flop 2025 Day 2
use std::time::Instant;
use cached::proc_macro::cached;
use itertools::Itertools;
const INPUT: &str = include_str!("inputs/day02.txt");
fn parse(input: &str) -> impl Iterator<Item = char> {
input.trim().chars()
}
@icub3d
icub3d / day02.rs
Created December 23, 2025 00:06
Solution for Flip Flop 2025 Day 2
use std::time::Instant;
use cached::proc_macro::cached;
use itertools::Itertools;
const INPUT: &str = include_str!("inputs/day02.txt");
fn parse(input: &str) -> impl Iterator<Item = char> {
input.trim().chars()
}
@icub3d
icub3d / day01.rs
Created December 22, 2025 23:24
Solution for Flip Flop 2025 Day 1
use std::time::Instant;
const INPUT: &str = include_str!("inputs/01.txt");
fn parse(input: &str) -> impl Iterator<Item = &str> {
input.trim().lines()
}
fn p1(input: &str) -> usize {
parse(input).map(|l| l.len() / 2).sum()
@icub3d
icub3d / day02.rs
Created December 22, 2025 23:23
Solution for Flip Flop 2025 Day 2
use std::time::Instant;
const INPUT: &str = include_str!("inputs/day02.txt");
fn parse(input: &str) -> impl Iterator<Item = &str> {
// TODO did you trim today?
input.trim().lines()
}
fn p1(input: &str) -> usize {
@icub3d
icub3d / zanzibar.rs
Created December 21, 2025 20:48
Kattis zanzibar
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
for m in s.lines().skip(1) {
let imports = m
.split_whitespace()
.map(|v| v.parse::<usize>().unwrap())
@icub3d
icub3d / thanos.rs
Created December 21, 2025 20:48
Kattis thanos
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
for m in s.lines().skip(1) {
let vv = m
.split_whitespace()
.map(|v| v.parse::<f64>().unwrap())
@icub3d
icub3d / stararrangements.rs
Created December 21, 2025 20:48
Kattis stararrangements
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
let s = s.trim().parse::<usize>().unwrap();
println!("{s}:");
(2..=(s / 2 + 1))
@icub3d
icub3d / speedlimit.rs
Created December 21, 2025 20:48
Kattis speedlimit
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
let mut lines = s.lines();
while let Some(line) = lines.next() {
let n = match line.parse::<usize>() {
@icub3d
icub3d / mia.rs
Created December 21, 2025 20:48
Kattis mia
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
for m in s.lines() {
if m == "0 0 0 0" {
break;
}
@icub3d
icub3d / jobexpenses.rs
Created December 21, 2025 20:48
Kattis jobexpenses
use std::io::{Read, stdin};
fn main() {
let mut s = String::new();
stdin().read_to_string(&mut s).unwrap();
for m in s.lines().skip(1) {
let v = m
.split_whitespace()
.map(|v| v.parse::<isize>().unwrap())