21 lines
746 B
Rust
21 lines
746 B
Rust
#[macro_use]
|
|
extern crate scan_fmt;
|
|
fn main() {
|
|
let mut passline: Vec<String> = Vec::new();
|
|
let contents = std::fs::read_to_string("input1").unwrap();
|
|
for s in contents.lines() {
|
|
passline.push(s.parse::<String>().unwrap());
|
|
}
|
|
let mut valid_passwords = 0;
|
|
for line in passline.iter() {
|
|
let (min, max, key, pass) =
|
|
scan_fmt!(&line, "{}-{} {}: {}", usize, usize, char, String).unwrap();
|
|
if (pass.as_bytes()[min - 1] == key as u8 && pass.as_bytes()[max - 1] != key as u8)
|
|
|| (pass.as_bytes()[min - 1] != key as u8 && pass.as_bytes()[max - 1] == key as u8)
|
|
{
|
|
valid_passwords += 1;
|
|
}
|
|
}
|
|
print!("Valid Passwords Found: {}\n", valid_passwords);
|
|
}
|