diff --git a/src/day23.rs b/src/day23.rs index 7231866..4e983bd 100644 --- a/src/day23.rs +++ b/src/day23.rs @@ -81,20 +81,18 @@ unsafe fn inner2(s: &str) -> String { let mut pass = HashSet::new(); for &(a, b) in &connections { let intersection = graph[a].intersection(&graph[b]).collect::>(); - for i in 0..intersection.len() { - let mut clique = HashSet::from_iter([a, b]); - for &new in &intersection[i..] { - if clique.contains(new) { - continue; - } - if graph[new].intersection(&clique).count() == clique.len() { - clique.insert(new); - } + let mut clique = HashSet::from_iter([a, b]); + for &new in &intersection { + if clique.contains(new) { + continue; } - if clique.len() > pass.len() { - pass = clique; + if graph[new].intersection(&clique).count() == clique.len() { + clique.insert(new); } } + if clique.len() > pass.len() { + pass = clique; + } } let mut pass = pass.iter().collect::>(); pass.sort_unstable();