Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::fs;
- use std::cmp::min;
- fn ft(l: u64, w: u64, h: u64) -> u64 {
- l * w * h + min(min(l + w, l + h), min(l + w, w + h)) * 2
- }
- fn sqft(l: u64, w: u64, h: u64) -> u64 {
- 2 * l * w + 2 * w * h + 2 * h * l + min(min(l * w, l * h), min(l * w, w * h))
- }
- fn main() {
- println!("AoC 2015, Day 2");
- let file = fs::read_to_string("/home/michelle/AoC_2015/Day_2/input.txt")
- .expect("Failed to open file!");
- let mut feet = 0u64;
- let mut square_feet = 0u64;
- for i in file.split_terminator('\n') {
- if i == "" {
- break;
- }
- let mut params: Vec<u64> = Vec::new();
- for j in i.split('x') {
- params.push(j.parse::<u64>().unwrap());
- }
- feet += ft(params[0], params[1], params[2]);
- square_feet += sqft(params[0], params[1], params[2]);
- }
- println!("Part 1: {}", square_feet);
- println!("Part 2: {}", feet);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement