initial commit: templates, etc.
This commit is contained in:
commit
967419e50e
8 files changed
+159
No files matched your search
+23
@@ -0,0 +1,23 @@
|
||||
// pub mod d2;
|
||||
// pub mod d3;
|
||||
// pub mod d4;
|
||||
// pub mod d5;
|
||||
// pub mod d6;
|
||||
// pub mod d7;
|
||||
// pub mod d8;
|
||||
// pub mod d9;
|
||||
// pub mod d10;
|
||||
// pub mod d11;
|
||||
// pub mod d12;
|
||||
// pub mod d13;
|
||||
// pub mod d14;
|
||||
// pub mod d15;
|
||||
// pub mod d16;
|
||||
// pub mod d17;
|
||||
// pub mod d18;
|
||||
// pub mod d19;
|
||||
// pub mod d20;
|
||||
// pub mod d21;
|
||||
// pub mod d22;
|
||||
// pub mod d23;
|
||||
// pub mod d24;
|
||||
@@ -0,0 +1,7 @@
|
||||
#![feature(let_chains)]
|
||||
#![feature(decl_macro)]
|
||||
#![feature(iter_array_chunks)]
|
||||
|
||||
pub mod days;
|
||||
pub mod utils;
|
||||
pub mod prelude;
|
||||
@@ -0,0 +1,9 @@
|
||||
pub use crate::utils::*;
|
||||
pub use anyhow::Error;
|
||||
pub use itertools::Itertools;
|
||||
pub use std::{
|
||||
collections::{ HashMap as M, HashSet as S, VecDeque as D },
|
||||
cmp::Ordering as Or,
|
||||
};
|
||||
|
||||
pub type SS = &'static str;
|
||||
@@ -0,0 +1,54 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
pub type I = Vec<String>;
|
||||
pub type O = i64;
|
||||
|
||||
fn _parse (data: &str) -> I {
|
||||
Default::default()
|
||||
}
|
||||
|
||||
fn _solve (data: &I) -> O {
|
||||
Default::default()
|
||||
}
|
||||
|
||||
fn _silver (data: &I) -> O {
|
||||
Default::default()
|
||||
}
|
||||
|
||||
fn _gold (data: &I) -> O {
|
||||
Default::default()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
||||
fn read () -> I {
|
||||
let data = inc!(_);
|
||||
_parse(data)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sample () {
|
||||
let data = "";
|
||||
let data = _parse(data);
|
||||
|
||||
assert_eq!(1, 1)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn silver () {
|
||||
let data = read();
|
||||
let ans = _silver(&data);
|
||||
|
||||
assert_eq!(ans, 1)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn gold () {
|
||||
let data = read();
|
||||
let ans = _gold(&data);
|
||||
|
||||
assert_eq!(ans, 1)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
pub macro inc {
|
||||
($d: literal) => {
|
||||
include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/in/", $d, ".txt"))
|
||||
}
|
||||
}
|
||||
|
||||
pub macro s {
|
||||
($s: literal) => {
|
||||
format!("{}", $s)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pub macro p {
|
||||
($s: expr) => {
|
||||
$s.parse().unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
pub macro n {
|
||||
($s: expr) => {
|
||||
$s.next().unwrap()
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user