using System; using uqac_ia_sudoku_csp.Solver; using uqac_ia_sudoku_csp.Solver.Generators; using uqac_ia_sudoku_csp.Solver.NextValueChoosers; namespace uqac_ia_sudoku_csp { internal class Program { public static void Main(string[] args) { var board = new Board("123456789"); var generator = new FileGenerator(); generator.Generate(board, new FileGeneratorDbo { EmptyCharacters = "0 .", FilePath = "../sample/04.txt" }); board.Print(Console.Out); var solver = new BacktrackSearch(new MRVNextValueChooser()); var start = DateTime.Now; var resolved = solver.Resolve(board); var end = DateTime.Now; if (resolved.Success) { Console.WriteLine("Resolved:"); board.Print(Console.Out); } else { Console.WriteLine("Not resolved"); } Console.WriteLine($"{resolved.TryCount} tries"); Console.WriteLine($"{(end - start).TotalMilliseconds} ms"); } } }