Пример #1
0
        static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();

            Sudoku wikipediaSudoku = CreateWikipediaSudoku();

            System.Console.WriteLine("Sudoku from the Wikipedia page https://en.wikipedia.org/wiki/Sudoku");
            Solver.Console.Show(wikipediaSudoku.Values);
            wikipediaSudoku.Solve();
            Solver.Console.Show(wikipediaSudoku.Values);

            sw.Reset();
            sw.Start();
            Killer wikipediaKiller = CreateWikipediaKiller();

            System.Console.WriteLine("Killer from the Wikipedia page https://en.wikipedia.org/wiki/Killer_sudoku");
            wikipediaKiller.Solve();
            Solver.Console.Show(wikipediaKiller.Values);
            sw.Stop();
            System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            sw.Reset();
            sw.Start();
            KenKen wikipediaKenKen = CreateWikipediaKenKen();

            System.Console.WriteLine("KenKen from the Wikipedia page https://en.wikipedia.org/wiki/KenKen");
            wikipediaKenKen.Solve();
            Solver.Console.Show(wikipediaKenKen.Values);
            sw.Stop();
            System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            Futoshiki wikipediaFutoshiki = CreateWikipediaFutoshiki();

            System.Console.WriteLine("Futoshiki from the Wikipedia page https://en.wikipedia.org/wiki/Futoshiki");
            Solver.Console.Show(wikipediaFutoshiki.Values);
            wikipediaFutoshiki.Solve();
            Solver.Console.Show(wikipediaFutoshiki.Values);

            sw.Reset();
            sw.Start();
            Kakuro wikipediaKakuro = CreateWikipediaKakuro();

            System.Console.WriteLine("Kakuro from the Wikipedia page https://en.wikipedia.org/wiki/Kakuro");
            wikipediaKakuro.Solve();
            Solver.Console.Show(wikipediaKakuro.Values);
            sw.Stop();
            System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            Sudoku sudoku = CreateSudoku1();

            System.Console.WriteLine("Sudoku Mild No 9596 from the Times, 16th Jan 2018");
            Solver.Console.Show(sudoku.Values);
            sudoku.Solve();
            Solver.Console.Show(sudoku.Values);

            Sudoku sudoku2 = CreateSudoku2();

            System.Console.WriteLine("Sudoku Difficult No 9597 from the Times, 16th Jan 2018");
            Solver.Console.Show(sudoku2.Values);
            sudoku2.Solve();
            Solver.Console.Show(sudoku2.Values);

            Sudoku sudoku3 = CreateSudoku3();

            System.Console.WriteLine("Sudoku Super fiendish No 9598 from the Times, 16th Jan 2018");
            Solver.Console.Show(sudoku3.Values);
            sudoku3.Solve();
            Solver.Console.Show(sudoku3.Values);

            sw.Reset();
            sw.Start();
            Killer killer = CreateKiller();

            System.Console.WriteLine("Killer Tough No 5820 from the Times, 16th Jan 2018");
            killer.Solve();
            Solver.Console.Show(killer.Values);
            sw.Stop();
            System.Console.WriteLine("Killer solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            sw.Reset();
            sw.Start();
            KenKen kenKen = CreateKenKen();

            System.Console.WriteLine("KenKen Medium No 4226 from the Times, 16th Jan 2018");
            kenKen.Solve();
            Solver.Console.Show(kenKen.Values);
            sw.Stop();
            System.Console.WriteLine("KenKen solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            Futoshiki futoshiki = CreateFutoshiki();

            System.Console.WriteLine("Futoshiki No 3087 from the Times, 16th Jan 2018");
            Solver.Console.Show(futoshiki.Values);
            futoshiki.Solve();
            Solver.Console.Show(futoshiki.Values);

            sw.Reset();
            sw.Start();
            Kakuro kakuro = CreateKakuro();

            System.Console.WriteLine("Kakuro No 2046 from the Times, 16th Jan 2018");
            kakuro.Solve();
            Solver.Console.Show(kakuro.Values);
            sw.Stop();
            System.Console.WriteLine("Kakuro solution took " + sw.ElapsedMilliseconds / 1000.0 + " seconds");
            System.Console.WriteLine();

            System.Console.ReadLine();
        }