You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Program.cs 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using uqac_ia_sudoku_csp.Solver;
  3. using uqac_ia_sudoku_csp.Solver.Generators;
  4. using uqac_ia_sudoku_csp.Solver.NextValueChoosers;
  5. namespace uqac_ia_sudoku_csp
  6. {
  7. internal class Program
  8. {
  9. public static void Main(string[] args)
  10. {
  11. var board = new Board("123456789");
  12. var generator = new FileGenerator();
  13. generator.Generate(board, new FileGeneratorDbo
  14. {
  15. EmptyCharacters = "0 .",
  16. FilePath = "../sample/04.txt"
  17. });
  18. board.Print(Console.Out);
  19. var solver = new BacktrackSearch(new MRVNextValueChooser());
  20. var start = DateTime.Now;
  21. var resolved = solver.Resolve(board);
  22. var end = DateTime.Now;
  23. if (resolved.Success)
  24. {
  25. Console.WriteLine("Resolved:");
  26. board.Print(Console.Out);
  27. }
  28. else
  29. {
  30. Console.WriteLine("Not resolved");
  31. }
  32. Console.WriteLine($"{resolved.TryCount} tries");
  33. Console.WriteLine($"{(end - start).TotalMilliseconds} ms");
  34. }
  35. }
  36. }