Как играть
Оба регистра показывают одинаковое число битов. Нажмите операцию, чтобы применить её к верхнему регистру; биты, которые всё ещё отличаются от цели, отмечены. Вы выигрываете, когда регистры совпадают. Счётчик ходов показывает ваши ходы относительно пара; бюджет — пар + 3, после чего головоломка дня считается нерешённой (тренировочные головоломки не заканчиваются никогда).
| Операция | Эффект | Типичное применение |
|---|---|---|
| FLIP | переключает только бит 0 | единственный способ напрямую добавить 1 (или убрать её); сочетайте со сдвигами, чтобы поставить её на место |
| SHL / SHR | логический сдвиг на один; выпавший бит теряется, входит 0 | переместить шаблон или намеренно уничтожить биты по краям |
| ROL / ROR | вращение на один; ничего не теряется | переместить шаблон, не меняя число единиц |
| NOT | инвертирует каждый бит | цель с большим числом единиц часто проще построить в инвертированном виде |
| SWAP | меняет местами две половины | быстрое вращение на 4 бита (или 8) |
| INC / DEC | прибавляет или вычитает единицу с переполнением | перенос распространяется: 0111 + 1 = 1000 устанавливает бит далеко от бита 0 |
Почему пар честный
Пространство головоломки достаточно мало (256 состояний для 8 бит, 65 536 для 16), чтобы страница выполнила поиск в ширину от стартового значения и знала точный кратчайший путь к каждому достижимому состоянию. Пар — это та самая дистанция; ежедневная цель выбирается так, чтобы пар был 5–7 (8 бит) или 7–10 (16 бит) и чтобы расстояние Хэмминга между стартом и целью было больше пара, а значит, чистой последовательности флипов не хватило бы, даже если бы вы могли переключать любой бит.
Подсказки, как уложиться в пар
- Считайте биты: FLIP, INC и DEC меняют число единиц; сдвиги теряют биты; вращения и NOT (при известном числе) — нет. Если в цели больше единиц, чем вы можете добавить за оставшиеся ходы, вам нужен NOT.
- Думайте от цели назад: какая одна операция могла её породить? Вращения и SWAP обратны сами себе через два или четыре хода; завершающий 0 в цели намекает на финальный SHL.
- INC на цепочке единиц внизу обнуляет их и устанавливает следующий бит — дешёвый способ передвинуть единицу вверх.
Вопросы
Ежедневная головоломка одинакова для всех?
Да. Номер головоломки выводится из даты (UTC), а головоломка — из этого номера, поэтому все, кто открывает страницу в один день, получают один и тот же старт и цель. Результаты и серии хранятся только в вашем браузере.
Что содержит текст для публикации?
Номер головоломки, ваше число ходов относительно пара и ряд квадратиков для ходов (синие в пределах пара, жёлтые сверх него). Ни решения, ни операций, так что он не спойлерит головоломку другим.
Можно ли проиграть?
Если вы превысите пар + 3 хода, день засчитывается как нерешённый; можно продолжать в режиме тренировки, а ежедневную головоломку всё равно можно дорешать ради удовольствия, только не ради серии.
Почему можно переключать только бит 0?
Потому что возможность переключать любой бит делает каждую 8-битную головоломку решаемой за четыре хода. Ограничение прямого доступа одним битом — это как реальное железо без инструкции установки бита, и именно оно делает сдвиги и вращения значимыми.