fn user_puzzle_choice() -> String {
    println!("Choose a puzzle (1-7): ");
    let mut input = String::new();
    io::stdin()
        .read_line(&mut input)
        .expect("Failed to parse input.");
    match input.trim().parse::<usize>().unwrap() {
        1 => "./src/puzzles/nono1.txt".to_string(),
        2 => "./src/puzzles/nono2.txt".to_string(),
        3 => "./src/puzzles/nono3.txt".to_string(),
        4 => "./src/puzzles/nono4.txt".to_string(),
        5 => "./src/puzzles/nono5.txt".to_string(),
        6 => "./src/puzzles/nono6.txt".to_string(),
        7 => "./src/puzzles/nono7.txt".to_string(),
        _ => panic!("Invalid input"),
    }
}
//user chooses the nonogram they want to solve
user chooses the nonogram they want to solve
user chooses the nonogram they want to solve
fn user_puzzle_choice() -> String {
    println!("Choose a puzzle (1-7): ");
    let mut input = String::new();
    io::stdin()
        .read_line(&mut input)
        .expect("Failed to parse input.");
    match input.trim().parse::<usize>().unwrap() {
        1 => "./src/puzzles/nono1.txt".to_string(),
        2 => "./src/puzzles/nono2.txt".to_string(),
        3 => "./src/puzzles/nono3.txt".to_string(),
        4 => "./src/puzzles/nono4.txt".to_string(),
        5 => "./src/puzzles/nono5.txt".to_string(),
        6 => "./src/puzzles/nono6.txt".to_string(),
        7 => "./src/puzzles/nono7.txt".to_string(),
        _ => panic!("Invalid input"),
    }
}
fn user_puzzle_choice ( ) -> String { println ! ( " " ) ; let mut input = String :: new ( ) ; io :: stdin ( ) . read_line ( & mut input ) . expect ( " " ) ; match input . trim ( ) . parse :: < usize > ( ) . unwrap ( ) { 1 => " " . to_string ( ) , 2 => " " . to_string ( ) , 3 => " " . to_string ( ) , 4 => " " . to_string ( ) , 5 => " " . to_string ( ) , 6 => " " . to_string ( ) , 7 => " " . to_string ( ) , _ => panic ! ( " " ) , } }
user chooses the nonogram they want to solve
user chooses the nonogram they want to solve