QQWing (qqwing) — простая C++ консольная утилита для создания и решения головоломок Судоку любого уровня сложности.
Судоку (Sudoku) — занимательная и интересная головоломка с числами, игровым полем является квадрат размером 9Х9, разделённый на меньшие квадраты со стороной в три клетки. Игровое поле состоит из 81 клетки, в некоторых из них уже стоят числа (от 1 до 9), называемые подсказками. Головоломка публикуется газетах и журналах в некоторых стран мира, являясь популярным видом досуга.
Судоку развивает внимательность и сообразительность, игроку требуется заполнить свободные клети цифрами, так чтобы в каждой строке и в каждом столбце малого квадрата (3Х3) каждая цифра встречалась только один раз. Сложность головоломки зависит от количества изначально заполненных клеток и методов применяемых для её решения.
Некоторые головоломки Судоку решаются за несколько минут, а на другие можно потратить часы. Правильно составленная головоломка имеет только одно решение, хотя и могут быть исключения, иногда под видом усложнённых головоломок предлагаются варианты с несколькими вариантами решения, а так же ветвлениями самого хода решения.
QQWing работает очень быстро, решет 1000 головоломок за 1 секунду и может создать 1000 головоломок за 25 секунд. При решении Судоку используется алгоритм позволяющий найти несколько способов решения и может генерировать головоломки заданного уровня сложности.
QQWing генерирует простые, нормальные, сложные, промежуточные или заданной сложности головоломки и выводит их в удобочитаемом виде (стандартно 9Х9 или одной строкой, в 81 символ), легко импортируемом в базу данных. Опционально может выводится решение и статистика о ходах используемых для решения каждой генерированной головоломки.
Для решаемых головоломок QQWing может выводить весь список ходов использовавшихся для решения каждой головоломки (в том числе пробных и ошибочных), может выводится время затраченное на создание или решение головоломок, можно узнать количество решений для каждой головоломки.
QQWing помимо C++ имеет функционально аналогичную Java и JavaScript версию.
Лицензия: GNU General Public License version 2.0 (GPLv2)
Вы можете войти под своим логином или зарегистрироваться на сайте.