|
|
|
|
@ -140,6 +140,12 @@ fn find_closest_from_range(seed_ranges: &Vec<SeedRange>, maps: &Vec<Map>) -> i64
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// OTHER THINGS TO TRY:
|
|
|
|
|
// Super brute force but reject any seeds that are not valid (using the is_seed_valid function).
|
|
|
|
|
// Maybe this will include some seeds that were left out before by mistake?
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
// SUPER BRUTE FORCE ALL SEED VALUES BETWEEN SMALLEST SEED AND LARGEST SEED (INCLUDES INVALID SEEDS!)
|
|
|
|
|
let smallest_seed: i64 = 348350443;
|
|
|
|
|
let largest_seed: i64 = 4092364215 + 1;
|
|
|
|
|
@ -151,7 +157,7 @@ fn find_closest_from_range(seed_ranges: &Vec<SeedRange>, maps: &Vec<Map>) -> i64
|
|
|
|
|
if location < closest_location
|
|
|
|
|
{
|
|
|
|
|
closest_location = location;
|
|
|
|
|
let valid = match is_valid_seed(seed, seed_ranges)
|
|
|
|
|
let valid = match is_seed_valid(seed, seed_ranges)
|
|
|
|
|
{
|
|
|
|
|
true => "VALID",
|
|
|
|
|
false => "INVALID!"
|
|
|
|
|
@ -163,7 +169,7 @@ fn find_closest_from_range(seed_ranges: &Vec<SeedRange>, maps: &Vec<Map>) -> i64
|
|
|
|
|
closest_location
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn is_valid_seed(value: i64, seed_ranges: &Vec<SeedRange>) -> bool
|
|
|
|
|
fn is_seed_valid(value: i64, seed_ranges: &Vec<SeedRange>) -> bool
|
|
|
|
|
{
|
|
|
|
|
for range in seed_ranges
|
|
|
|
|
{
|
|
|
|
|
|