Compare commits
No commits in common. "6f5e848c091d0be417335b43e18f0683d2c80f98" and "450a6b4f8af2ccbd2627c058e650b0eec4f78e05" have entirely different histories.
6f5e848c09
...
450a6b4f8a
2 changed files with 11 additions and 12 deletions
|
@ -60,7 +60,7 @@ impl NanoFactory {
|
|||
.collect();
|
||||
}
|
||||
self.ordered.reverse();
|
||||
self.ordered.retain(|res| res != "ORE");
|
||||
self.ordered.pop();
|
||||
}
|
||||
|
||||
/// calculate how much ores are required for required_fuel
|
||||
|
@ -84,7 +84,6 @@ impl NanoFactory {
|
|||
});
|
||||
|
||||
// return cost for ore
|
||||
println!("{:?}", storage);
|
||||
*storage.get("ORE").unwrap() as usize
|
||||
}
|
||||
|
||||
|
@ -278,8 +277,7 @@ mod tests {
|
|||
.trim()
|
||||
.as_bytes(),
|
||||
);
|
||||
let mut factory = NanoFactory::from(bufreader);
|
||||
factory.resolve_order();
|
||||
let factory = NanoFactory::from(bufreader);
|
||||
assert_eq!(factory.generate_fuel(), 31);
|
||||
assert_eq!(factory.resource_usage(1), 31);
|
||||
}
|
||||
|
@ -299,8 +297,7 @@ mod tests {
|
|||
.trim()
|
||||
.as_bytes(),
|
||||
);
|
||||
let mut factory = NanoFactory::from(bufreader);
|
||||
factory.resolve_order();
|
||||
let factory = NanoFactory::from(bufreader);
|
||||
assert_eq!(factory.generate_fuel(), 165);
|
||||
assert_eq!(factory.resource_usage(1), 165);
|
||||
}
|
||||
|
@ -324,6 +321,7 @@ mod tests {
|
|||
);
|
||||
let factory = NanoFactory::from(bufreader);
|
||||
assert_eq!(factory.generate_fuel(), 13312);
|
||||
assert_eq!(factory.generate_fuel_from_ores(1_000_000_000_000), 82892753);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -346,10 +344,10 @@ mod tests {
|
|||
.trim()
|
||||
.as_bytes(),
|
||||
);
|
||||
let mut factory = NanoFactory::from(bufreader);
|
||||
factory.resolve_order();
|
||||
let factory = NanoFactory::from(bufreader);
|
||||
assert_eq!(factory.generate_fuel(), 180697);
|
||||
assert_eq!(factory.resource_usage(1), 180697);
|
||||
// TODO assert_eq!(factory.generate_fuel_from_ores(1_000_000_000_000), 5586022);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -377,9 +375,9 @@ mod tests {
|
|||
.trim()
|
||||
.as_bytes(),
|
||||
);
|
||||
let mut factory = NanoFactory::from(bufreader);
|
||||
factory.resolve_order();
|
||||
let factory = NanoFactory::from(bufreader);
|
||||
assert_eq!(factory.generate_fuel(), 2210736);
|
||||
assert_eq!(factory.resource_usage(1), 2210736);
|
||||
// TODO assert_eq!(factory.generate_fuel_from_ores(1_000_000_000_000), 460664);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -319,8 +319,9 @@ impl Computer {
|
|||
Mode::Immediate => want,
|
||||
Mode::Relative => (self.rel + self.get_pos(want)) as usize,
|
||||
};
|
||||
if length <= want {
|
||||
self.program.resize(want + 1, 0);
|
||||
if length < want {
|
||||
let missing = (want - length) + 10000;
|
||||
self.program.extend_from_slice(&vec![0; missing])
|
||||
}
|
||||
self.program[want] = value;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue