Запрет касания — это всего лишь разрыв между столбцами
По правилам кот исключает восемь соседних клеток. Буквально это восемь проверок на каждый ход, но структура Meowdoku заранее делает большинство из них несущественными.
Правило в буквальной формулировке
Коты не могут стоять в соприкасающихся клетках — ни по стороне, ни по углу. Один кот исключает восемь соседей, а также строку, столбец и регион.
Проверка перебирает восемь смещений на каждом ходе. Но реально опасной была лишь часть этих клеток.
Почему мешает только соседняя строка
На поле с N строками стоят N котов, и в строке не может быть двух: в решении ровно один кот на строку.
Клетки касаются, только если разность строк и столбцов равна 0 или 1. При расстоянии в две строки коты не соприкоснутся ни при каких столбцах; важны лишь соседние строки.
Решатель использует именно сокращённое условие: номера столбцов котов в соседних строках должны различаться хотя бы на 2.
Верх, низ, лево и право уже запрещены
Четыре из восьми соседей делят с котом строку или столбец и незаконны ещё до правила касания.
Новую информацию дают только четыре диагонали. Даже они иногда уже принадлежат тому же цветному региону и исключены региональным правилом.
Сколько здесь действительно нового
На четырёхстах новых полях каждой сложности измерено, сколько диагоналей уже запрещены до проверки касания:
| Поле | Уже запрещены строкой, столбцом или регионом | Новое исключение только касанием |
|---|---|---|
| Лёгкий 5×5 | 37% | 63% |
| Обычный 7×7 | 44% | 56% |
| Сложный 9×9 | 47% | 53% |
| Экстремальный 10×10 | 49% | 51% |
На каждой сложности больше трети видимого действия уже сделано регионом. Новая часть падает с 63% на Лёгком примерно до половины на Экстремальном.
Средний регион растёт с пяти до десяти клеток, поэтому диагональ чаще оказывается в том же регионе.
Измеряем разрыв
Практическое правило сводится к числу: коты в соседних строках должны отличаться по столбцу минимум на 2. Вот частота минимума:
| Поле | Строки с минимальным разрывом (2) | Средний разрыв | Максимальный разрыв |
|---|---|---|---|
| Лёгкий 5×5 | 57.8% | 2.5 | 4 |
| Обычный 7×7 | 35.1% | 3.2 | 6 |
| Сложный 9×9 | 27.5% | 3.9 | 8 |
| Экстремальный 10×10 | 26.2% | 4.2 | 9 |
Разрыв 2 — самый частый отдельный результат на каждой сложности и единственный без запаса: сдвиг на один столбец делает позицию незаконной.
Почему малые поля теснее
На 5×5 мало столбцов, и средний разрыв 2,5 едва выше минимума. На 10×10 пространства вдвое больше, и среднее растёт до 4,2.
Минимум не меняется: разрыв 1 всегда означает диагональное касание. С ростом поля лишь реже достигается граница.
Как использовать это в игре
Законность та же, но проверять нужно меньше:
- Важны только строки сверху и снизу. Кот через две строки не может соприкоснуться с новым.
- В каждой опасны только две клетки. Вертикаль уже запрещена столбцом; остаются диагонали.
- Разрыв 2 тесный и частый. Проверяйте его снова: это самый вероятный отдельный разрыв.
- Регион может решить раньше. Если диагональ того же цвета, она уже запрещена — примерно в половине случаев на больших полях.
Как измерено
Обе таблицы построены генератором на четырёхстах полях каждой сложности. «Уже запрещена» означает диагональ в том же регионе, а «минимальный разрыв» — точную разность столбцов 2.
Тесты пересчитывают данные на новых полях, поэтому изменение регионов или расстановки остановит сборку вместо сохранения устаревшей статистики.
Проверьте правило разрыва на поле
На Сложном 9×9 при котах в соседних строках достаточно сравнить столбцы. Разрыв 2 законен, но тесен, и это самый частый вариант.
Поля создаются прямо в вашем браузере. Ничего из вашей игры никуда не отправляется.