4LWUJOG3UQUPA3PI3C5CEBZTQYEGAFI7DDNRMLR6AHJG7JJWHD6QC
NJC3HBR6NJRXVFZ7EVFGN4TVXVMH2K5XMUGVE2NG3ES6DN5U7MRAC
GKK5DEP5Z3GO6AAC4O5JAW2KJMTL2EMCI5R65BGP27FIEXEB3W6QC
5TH3AA466T4JIICGT3LTLJ554X62KF36XZUXKR5MIAXVWAGQQHWQC
4YYL4VTYM7SVQG5KUT6AJHMABLCOC4LQESBUWHUZ7OQCKJTM4MAQC
LQ4TT46NCEGU2Y5WX6CMSXGAZI7TOES4YBZEZ4FEW3HL7EVHTY7QC
JPTYS433ESGA2UUNKQT4JMAWFU7KVIU7F5RKDZTUR7RR5A2COBVQC
}
if let Some(adjacent_row) = adjacent_row {
// Check if the new plank lands too close to a previous cut
// or a new one
let coordinate = row.get_coverage() + required_length;
if !adjacent_row.check_if_cut_is_valid(Cut::new(coordinate)) {
log::info!("Invalid cut at {coordinate}!!! Swapping places");
row.swap_latest(ms);
}
}
}
if let Some(adjacent_row) = adjacent_row {
// Check if the newly added plank lands too close to a previous cut
// or a new one
let coordinate = row.get_coverage();
if !adjacent_row.check_if_cut_is_valid(Cut::new(coordinate)) {
log::info!("Invalid cut at {coordinate}!!! Swapping places");
println!("{row}");
row.swap_latest(ms);