Validate all floors. Huge speed up because fewer variants validate.

This commit is contained in:
2016-12-18 16:58:45 +01:00
parent c8f69b1a50
commit ed89ecefb8

View File

@@ -39,14 +39,15 @@ impl Facility {
}
pub fn validate(&self) -> bool {
for f in 0..self.top_floor + 1 {
let mut generators = HashSet::new();
let mut microchips = HashSet::new();
for (i, &(g, m)) in self.components.iter().enumerate() {
if g == self.elevator {
if g == f {
generators.insert(i);
}
if m == self.elevator {
if m == f {
microchips.insert(i);
}
}
@@ -58,6 +59,7 @@ impl Facility {
return false;
}
}
}
true
}