parent
5334da8021
commit
ef55813034
@ -0,0 +1,80 @@
|
|||||||
|
use std::{
|
||||||
|
io::{
|
||||||
|
BufRead,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn test(input: impl IntoIterator<Item=Int>)
|
||||||
|
{
|
||||||
|
for x in input
|
||||||
|
{
|
||||||
|
if !(0..=255).contains(&x) {
|
||||||
|
panic!("Overflew u8: {}", x);
|
||||||
|
} else {
|
||||||
|
println!(" -> {} OK", x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pub type Int = u8;
|
||||||
|
|
||||||
|
/// Read the real input from a file
|
||||||
|
pub fn read_input<'r, R: BufRead+ 'r>(from: R) -> impl Iterator<Item=Int> + 'r
|
||||||
|
{
|
||||||
|
from.lines().filter_map(|x| x.ok().map(|y| y.parse().ok()).flatten())
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Get the test input
|
||||||
|
pub fn test_input() -> impl Iterator<Item=Int>
|
||||||
|
{
|
||||||
|
return TEST_INPUT_2.iter().copied()
|
||||||
|
}
|
||||||
|
|
||||||
|
const TEST_INPUT: &[Int] = &[
|
||||||
|
16,
|
||||||
|
10,
|
||||||
|
15,
|
||||||
|
5,
|
||||||
|
1,
|
||||||
|
11,
|
||||||
|
7,
|
||||||
|
19,
|
||||||
|
6,
|
||||||
|
12,
|
||||||
|
4,
|
||||||
|
];
|
||||||
|
|
||||||
|
const TEST_INPUT_2: &[Int] = &[
|
||||||
|
28,
|
||||||
|
33,
|
||||||
|
18,
|
||||||
|
42,
|
||||||
|
31,
|
||||||
|
14,
|
||||||
|
46,
|
||||||
|
20,
|
||||||
|
48,
|
||||||
|
47,
|
||||||
|
24,
|
||||||
|
23,
|
||||||
|
49,
|
||||||
|
45,
|
||||||
|
19,
|
||||||
|
38,
|
||||||
|
39,
|
||||||
|
11,
|
||||||
|
1,
|
||||||
|
32,
|
||||||
|
25,
|
||||||
|
35,
|
||||||
|
8,
|
||||||
|
17,
|
||||||
|
7,
|
||||||
|
9,
|
||||||
|
4,
|
||||||
|
2,
|
||||||
|
34,
|
||||||
|
10,
|
||||||
|
3,
|
||||||
|
];
|
Loading…
Reference in new issue