Day 16 - init & parsing
This commit is contained in:
		
							parent
							
								
									feccd2992a
								
							
						
					
					
						commit
						4e535dfdb6
					
				
					 4 changed files with 100 additions and 1 deletions
				
			
		
							
								
								
									
										58
									
								
								res/16/input.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								res/16/input.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,58 @@
 | 
			
		|||
Valve YK has flow rate=0; tunnels lead to valves GL, FT
 | 
			
		||||
Valve QA has flow rate=0; tunnels lead to valves JX, FD
 | 
			
		||||
Valve LN has flow rate=0; tunnels lead to valves FD, FG
 | 
			
		||||
Valve AU has flow rate=0; tunnels lead to valves BD, PQ
 | 
			
		||||
Valve MM has flow rate=0; tunnels lead to valves UL, AA
 | 
			
		||||
Valve JX has flow rate=0; tunnels lead to valves QA, NZ
 | 
			
		||||
Valve CV has flow rate=0; tunnels lead to valves UP, QW
 | 
			
		||||
Valve UZ has flow rate=0; tunnels lead to valves FG, NZ
 | 
			
		||||
Valve BP has flow rate=0; tunnels lead to valves TI, DX
 | 
			
		||||
Valve NS has flow rate=0; tunnels lead to valves ZL, CW
 | 
			
		||||
Valve CO has flow rate=0; tunnels lead to valves BD, AT
 | 
			
		||||
Valve RZ has flow rate=0; tunnels lead to valves AA, ZO
 | 
			
		||||
Valve PQ has flow rate=0; tunnels lead to valves ML, AU
 | 
			
		||||
Valve CW has flow rate=7; tunnels lead to valves UL, PH, OF, NS, GT
 | 
			
		||||
Valve FG has flow rate=14; tunnels lead to valves SO, JR, IN, LN, UZ
 | 
			
		||||
Valve EZ has flow rate=0; tunnels lead to valves UP, QP
 | 
			
		||||
Valve GN has flow rate=0; tunnels lead to valves VQ, CH
 | 
			
		||||
Valve QW has flow rate=6; tunnels lead to valves CV, PF, KH, UY, TI
 | 
			
		||||
Valve UL has flow rate=0; tunnels lead to valves MM, CW
 | 
			
		||||
Valve VQ has flow rate=12; tunnels lead to valves GN, LC
 | 
			
		||||
Valve FT has flow rate=0; tunnels lead to valves SG, YK
 | 
			
		||||
Valve SG has flow rate=21; tunnels lead to valves FT, LC, NO, QX
 | 
			
		||||
Valve BD has flow rate=23; tunnels lead to valves CO, AU, AB
 | 
			
		||||
Valve AB has flow rate=0; tunnels lead to valves BD, QX
 | 
			
		||||
Valve QP has flow rate=0; tunnels lead to valves AD, EZ
 | 
			
		||||
Valve OF has flow rate=0; tunnels lead to valves DX, CW
 | 
			
		||||
Valve AA has flow rate=0; tunnels lead to valves QL, RZ, SO, MM, HW
 | 
			
		||||
Valve RQ has flow rate=0; tunnels lead to valves GL, QG
 | 
			
		||||
Valve ZL has flow rate=0; tunnels lead to valves NS, FD
 | 
			
		||||
Valve KH has flow rate=0; tunnels lead to valves GT, QW
 | 
			
		||||
Valve JR has flow rate=0; tunnels lead to valves FG, PH
 | 
			
		||||
Valve PH has flow rate=0; tunnels lead to valves CW, JR
 | 
			
		||||
Valve LC has flow rate=0; tunnels lead to valves VQ, SG
 | 
			
		||||
Valve FD has flow rate=20; tunnels lead to valves LN, QA, ZL
 | 
			
		||||
Valve NZ has flow rate=15; tunnels lead to valves UZ, JX
 | 
			
		||||
Valve ML has flow rate=22; tunnels lead to valves OW, PQ, NO
 | 
			
		||||
Valve PF has flow rate=0; tunnels lead to valves QW, CH
 | 
			
		||||
Valve UP has flow rate=19; tunnels lead to valves RY, CV, EZ
 | 
			
		||||
Valve VM has flow rate=0; tunnels lead to valves RY, CH
 | 
			
		||||
Valve DX has flow rate=3; tunnels lead to valves BO, QL, BP, OF, QG
 | 
			
		||||
Valve QL has flow rate=0; tunnels lead to valves AA, DX
 | 
			
		||||
Valve HW has flow rate=0; tunnels lead to valves UY, AA
 | 
			
		||||
Valve GL has flow rate=8; tunnels lead to valves YK, RQ
 | 
			
		||||
Valve QG has flow rate=0; tunnels lead to valves DX, RQ
 | 
			
		||||
Valve IN has flow rate=0; tunnels lead to valves FG, BO
 | 
			
		||||
Valve NO has flow rate=0; tunnels lead to valves SG, ML
 | 
			
		||||
Valve SO has flow rate=0; tunnels lead to valves FG, AA
 | 
			
		||||
Valve RY has flow rate=0; tunnels lead to valves UP, VM
 | 
			
		||||
Valve CH has flow rate=13; tunnels lead to valves GN, VM, PF, ZO
 | 
			
		||||
Valve AD has flow rate=17; tunnel leads to valve QP
 | 
			
		||||
Valve TI has flow rate=0; tunnels lead to valves BP, QW
 | 
			
		||||
Valve UY has flow rate=0; tunnels lead to valves HW, QW
 | 
			
		||||
Valve AT has flow rate=24; tunnels lead to valves OW, CO
 | 
			
		||||
Valve GT has flow rate=0; tunnels lead to valves CW, KH
 | 
			
		||||
Valve ZO has flow rate=0; tunnels lead to valves RZ, CH
 | 
			
		||||
Valve QX has flow rate=0; tunnels lead to valves AB, SG
 | 
			
		||||
Valve BO has flow rate=0; tunnels lead to valves IN, DX
 | 
			
		||||
Valve OW has flow rate=0; tunnels lead to valves AT, ML
 | 
			
		||||
							
								
								
									
										10
									
								
								res/16/test-input.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								res/16/test-input.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
Valve AA has flow rate=0; tunnels lead to valves DD, II, BB
 | 
			
		||||
Valve BB has flow rate=13; tunnels lead to valves CC, AA
 | 
			
		||||
Valve CC has flow rate=2; tunnels lead to valves DD, BB
 | 
			
		||||
Valve DD has flow rate=20; tunnels lead to valves CC, AA, EE
 | 
			
		||||
Valve EE has flow rate=3; tunnels lead to valves FF, DD
 | 
			
		||||
Valve FF has flow rate=0; tunnels lead to valves EE, GG
 | 
			
		||||
Valve GG has flow rate=0; tunnels lead to valves FF, HH
 | 
			
		||||
Valve HH has flow rate=22; tunnel leads to valve GG
 | 
			
		||||
Valve II has flow rate=0; tunnels lead to valves AA, JJ
 | 
			
		||||
Valve JJ has flow rate=21; tunnel leads to valve II
 | 
			
		||||
							
								
								
									
										31
									
								
								src/days/d16.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/days/d16.rs
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
use std::fs;
 | 
			
		||||
use std::collections::HashMap;
 | 
			
		||||
 | 
			
		||||
pub fn solve() {
 | 
			
		||||
    let path = "res/16/input.txt";
 | 
			
		||||
 | 
			
		||||
    let contents = fs::read_to_string(path).expect("File read error");
 | 
			
		||||
 | 
			
		||||
    let mut valves = HashMap::<String, (i32, Vec::<String>)>::new();
 | 
			
		||||
    contents
 | 
			
		||||
        .lines()
 | 
			
		||||
        .filter(|line| *line != "")
 | 
			
		||||
        .for_each(|line| {
 | 
			
		||||
            let (valve, conn_valves) = line.split_at(line.find(";").unwrap());
 | 
			
		||||
            
 | 
			
		||||
            let conn_valves = conn_valves
 | 
			
		||||
                .replace("; tunnels lead to valve", "")
 | 
			
		||||
                .replace("s", "")
 | 
			
		||||
                .replace(" ", "");
 | 
			
		||||
            let conn_valves: Vec<&str> = conn_valves.split(",").collect();
 | 
			
		||||
            let conn_valves: Vec<String> = conn_valves.iter().map(|c| c.to_string()).collect();
 | 
			
		||||
 | 
			
		||||
            let valve: Vec<&str> = valve.split_whitespace().collect();
 | 
			
		||||
            let flow_rate = valve[4].replace("rate=", "").parse::<i32>().unwrap();
 | 
			
		||||
            let valve = valve[1].to_string();
 | 
			
		||||
 | 
			
		||||
            valves.insert(valve, (flow_rate, conn_valves));
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
    dbg!(valves);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
pub mod days;
 | 
			
		||||
 | 
			
		||||
fn main() {
 | 
			
		||||
    days::d15::solve()
 | 
			
		||||
    days::d16::solve()
 | 
			
		||||
    //_all_days()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue