#[derive(Debug, Clone)]
pub struct BacktrackingState {
pub applied_chunks: std::collections::HashSet<usize>,
pub modified_indices: std::collections::HashSet<usize>,
pub solution_count: usize,
pub first_solution_result: std::option::Option<std::vec::Vec<String>>,
pub solution_path: std::option::Option<std::vec::Vec<(usize, usize)>>,
pub first_solution_key: std::option::Option<std::vec::Vec<(usize, usize)>>,
pub nodes_visited: usize,
}
impl BacktrackingState {
pub fn new() -> Self {
Self {
applied_chunks: std::collections::HashSet::new(),
modified_indices: std::collections::HashSet::new(),
solution_count: 0,
first_solution_result: std::option::Option::None,
solution_path: std::option::Option::None,
first_solution_key: std::option::Option::None,
nodes_visited: 0,
}
}
}
impl std::default::Default for BacktrackingState {
fn default() -> Self {
Self::new()
}
}