示例#1
0
        static void Main(string[] args)
        {
            var puzzle = new[, ]
            {
                { 5, 3, 0, 0, 7, 0, 0, 0, 0 },
                { 6, 0, 0, 1, 9, 5, 0, 0, 0 },
                { 0, 9, 8, 0, 0, 0, 0, 6, 0 },
                { 8, 0, 0, 0, 6, 0, 0, 0, 3 },
                { 4, 0, 0, 8, 0, 3, 0, 0, 1 },
                { 7, 0, 0, 0, 2, 0, 0, 0, 6 },
                { 0, 6, 0, 0, 0, 0, 2, 8, 0 },
                { 0, 0, 0, 4, 1, 9, 0, 0, 5 },
                { 0, 0, 0, 0, 8, 0, 0, 0, 0 }
            };

            SudokuSolverUsingRecursion.ExampleToSolve01(puzzle);
            SudokuSolver01.ExampleToSolve01(puzzle);
        }
        internal static void ExampleToSolve01(int[,] puzzle)
        {
            var solver = new SudokuSolver01(puzzle);

            //Console.Clear();
            solver.ConsoleWritePuzzle("Initial Puzzle");

            for (int i = 0; i < 100; i++)
            {
                solver.SudokuPuzzle.ForEach(solver.RemoveImpossibleValues);

                solver.ConsoleWritePuzzle("Solving...", true);
            }

            //solver.ClearConsoleToBottom();
            solver.ConsoleWritePuzzle("First Pass");

            solver.ClearConsoleToBottom();
        }