initial commit: templates, etc.

This commit is contained in:
YK committed 2024-12-01 20:36:25 +03:00
commit 967419e50e
8 files changed
+159

No files matched your search

+23
View File
@@ -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;
+7
View File
@@ -0,0 +1,7 @@
#![feature(let_chains)]
#![feature(decl_macro)]
#![feature(iter_array_chunks)]
pub mod days;
pub mod utils;
pub mod prelude;
+9
View File
@@ -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;
+54
View File
@@ -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)
}
}
+24
View File
@@ -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()
}
}