@danyvasnafig

Как решить судоку, если для любой из оставшихся пустых ячеек более одного значения?

Как решить судоку, если для любой из оставшихся пустых ячеек более одного значения?
Т.е. мой алгоритм изначально перебирал ячейки, составляя для каждой пустой список возможных значений, если значение одно - то оно присваивалось ячейке и алгоритм начинался заново с учетом этого. Но вот в более-менее сложном судоку алгоритм доходит до момента, когда для всех оставшихся пустых ячеек существует минимум 2 возможных значения. Что делать в таком случае?
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 2
@timokins
Разделяешь путь прохождения на несколько,
подставляя каждое возможное число и проходишься по каждому варианту,
если один из путей приводит к логической ошибке, то смотришь следующий и т.д., пока не будет найден верный вариант.
Ответ написан
Комментировать
mrswylet
@mrswylet
Если попробовать начать с этого. Например ваше поле
- 1 2 3   4 5 6   7 8 9
1
2   ?   
3         ?

4                   ?
5
...


В ячейке (2; 2) у вас могут быть цифры 2, 4, 6.
В ячейке (4; 3) у вас могут быть цифры 2, 3, 8.
В ячейке (8; 4) у вас могут быть цифры 1, 4, 8.

Мы получаем, что в первой ячейке не повторяется с остальными ячейками только цифра 6, ее и ставим.
Во второй ячейке - цифра 3.
В третьей - 1.

Или я не правильно понял вашу проблему?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы