"Очень интересно и приятно с Вами общаться."
Спасибо *^_^* Я, правда, умудрилась пропасть на 4 дня - заболела. Но я восстала и могу продолжить дискуссию
Да, массив мне понятен
Я делала совсем не так, смотрела на свое творчество, понимала, что что-то не так, но не могла сказать, что
Теперь понимаю. Мои вложенные ассоциативные массивы никуда не годятся, буду их выкидывать, как руки дойдут
Тройки на g9 и g7 были отсечены как запертые кандидаты в квадрате (клетки g4 и g6). Но если бы (ну допустим), в клетках h5 или i5 была тройка, то это уже не было бы запертым кандидатом, но при этом b6, g6 и b4, g4 образовали бы крыло (в строке 4 и 6 нет больше троек, кроме этих четырех клеток) и все равно можно было бы удалить тройки с g9 и g7. Но, по факту, крыло играет свою решающую роль редко, рыба меч - еще реже, а медуза встречается просто фантастически редко. Но помнится, как-то раз я нашла рыбу-меч в тупике - от радости по квартире прыгала даже не дорешав судоку. Все же редко этот зверинец встречается
По поводу x и q - я не думала сразу вносить аналитику ситуации в запись текущей расстановки кандидатов... Я делаю аналитику на ходу по конкретным методам, даже не пользуясь понятиями что и где стоять обязано... Хотя когда решаю вручную сложные судоку - все время пытаюсь удержать в голове какие числа и где стоять обязаны, только мозгоресурсов на весь судоку не хватает
А в программе как используются эти понятия?
По поводу действительности, в судоку три измерения - это строки, столбцы и квадраты. Очевидно то, что любой метод или способ анализа судоку, применимый к строке, так же применим к столбцу (доказательство через транспонирование). Но практика показывает, что этот же метод/способ так же применим и к квадрату (доказательства нет, надо подумать над этим). То есть, если есть число, которое обязано стоять в клетке A или B, находящиеся на одной строке, то почему не может быть ситуации, что есть число, которое обязано стоять в клетке C или D, при том, что C и D не находятся в одной строке или в одном столбце, но находятся в одном квадрате? При чем число в конкретной ячейке в теории может быть связано по всем трем осям. Выключение этого числа означает расстановку трех других чисел, а включение - исключение остальных кандидатов. Учитывая сложность отслеживания и записи всех этих связей - стоит ли игра свеч? Какой выигрыш дает этот подход?
По поводу цепочек - да, действительно. Тут нужно найти путь к ячейке, запустившей волну (так сказать, нужно, чтобы змея укусила себя за хвост), если будет достигнуто противоречие - то это джекпот и исключение кандидата. А найти путь > 2 шагов из точки А в точку А - вполне себе конкретная задача. Если еще брать для составления цепей только ячейки, где по 2 кандидата, то становится еще проще.