
Среда программирования: Visual C# .NET 2013
Название работы: Программа решения Судоку 9х9, 16х16, 25x25
Вид работы: Курсовая работа
Тематика работы: Алгоритмы, Игры, Кроссворды, Прочие
Объем программы: 8 (по десятибалльной шкале)
Уровень сложности: 8 (по десятибалльной шкале)
Разработчик (автор):
Программист сайта kursovik.com
(письмо автору)
Данная работа написана ЧЕЛОВЕКОМ без использования ИИ
Ключевые слова: Судоку, рекурсия, решение, c#, WPF
Функции программы:
Программа рекурсивно отыскивает все решения.
Исходные данные можно загрузить из текстового файла.
Все решения записываются в текстовый файл.
Значение ячеек можно редактировать самостоятельно.
Алгоритм поиска
1. Для каждой свободной ячейки определяется список допустимых значений (которых ещё нет ни в строке, ни в столбце, ни в секторе);
2. Если найдена ячейка, в которой допустимо только одно значение, то в эту ячейку оно и записывается;
3. Если на шаге 2 какая-нибудь ячейка была заполнена, то снова идём на шаг 1;
4. Проверяется, если матрица полностью заполнена, то выводим решение, записываем в файл (и в случае, если мы не приступали к рекурсивному решению, то оно единственное и поиск решения заканчивается) рекурсивный поиск (переходим к нему, если за первые 4 шага решение не найдено);
5. Выбираем ячейку, у которой количество допустимых значений меньшее и присваиваем ячейке первое значение (рекурсивно получили новую матрицу и пытаемся решить её);
6. Для полученной матрицы выполняем шаги 1-4;
7. Если матрица ещё не заполнена, и мы не в тупике (когда есть пустые ячейки, но для них нет допустимых значений), снова переходим к шагу 5, иначе возвращаемся из функции поиска на предыдущий уровень (на предыдущем уровне присваиваем ячейке следующее допустимое значение);
8. Если матрица оказалась заполненной, то записываем её в файл и снова возвращаемся, а предыдущий уровень для поиска других решений;
9. Завершается, когда пройдены все ветки рекурсии.
Описание (отчет):
Есть
, посмотреть оглавление
Пояснения к компиляции и запуску программы:
Вместе с исходником идут три файла для примера: для матриц 9х9, 16х16 и 25х25.
создать свой можно в любом текстовом редакторе, в котором через пробел, построчно записаны значения (пустая ячейка - это 0, если значение не попадает в диапазон допустимых значений, например, для Судоку 9х9 значение 10, то ячейка останется пустой).
Значения в ячейках можно редактировать и выполнить поиск для отредактированной Вами матрицы.
Текущие значения полей можно записать в файл.
При слабой заполняемости матрицы 25х25 ввиду рекурсивности алгоритма поиск может занять некоторое время.
Sudoku
App
App
App.xaml
bin
Debug
Release
Sudoku.vshost
MainWindow
MainWindow.xaml
obj
Debug
Release
Properties
AssemblyInfo
Resources.Designer
Resources
Settings.Designer
Settings
ServiceFunction
Sudoku
SudokuCell
Sudoku
Отчет к программе. СодержаниеСловесное описание алгоритма работы программы
Предварительный просмотр
|
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 1800 руб РФ Продажа каждой работы строго учитывается, у каждой работы есть своя история продаж. |