遊び方 · asobikata

Как играть

Hashiwokakero (橋をかけろ, «строй мосты!») — логическая головоломка от Nikoli. Соедини все острова мостами так, чтобы у каждого острова было ровно столько мостов, сколько указано на нём.

一

Считай мосты

Число на острове — это сколько мостов от него отходит.

二

Один или два

Острова можно соединить одинарным деревянным мостом или двойным киноварным, но не больше.

三

Прямо, без пересечений

Мосты идут по горизонтали или вертикали и не пересекают другие мосты и острова.

四

Один архипелаг

В итоге с любого острова должно быть можно добраться до любого другого.

343323

Решённая головоломка

Управление 操作

Нажми на воду между двумя островами, чтобы построить мост, ещё раз — второй, третье нажатие их убирает.

Или протяни от острова к соседу, или нажми на два острова по очереди.

Правый клик / Shift + клик убирает мост.

Ctrl Z Отменить · Ctrl Y Вернуть · H Подсказка

Готовые острова становятся зелёными, переполненные — красными. Тупик? Попроси у SAT-решателя подсказку или проверку мостов.

Под капотом 仕組み

Каждый возможный мост e между двумя соседними островами получает две булевы переменные: e₁ (хотя бы один мост) и e₂ (второй мост), с условием e₂ → e₁, чтобы у каждой расстановки была ровно одна модель.

¬e₂ ∨ e₁

Остров с числом n требует, чтобы ровно n его переменных были истинны; это записывается дизъюнктами по всем комбинациям. Пересекающиеся мосты исключают друг друга:

¬h₁ ∨ ¬v₁

Связность трудно выразить в CNF, поэтому она добавляется лениво: как только решатель возвращает отдельные группы островов, добавляется дизъюнкт, требующий мост из такой группы, и решатель запускается снова.

Генератор выращивает случайный архипелаг и доказывает единственность: блокирует найденное решение и просит решатель найти другое. Попробуй разные режимы решателя в лаборатории.

よくある質問 · FAQ

Вопросы о Hashiwokakero

Что такое Hashiwokakero?
Hashiwokakero (橋をかけろ, «строй мосты»), также известная как «Мосты» или Hashi, — японская логическая головоломка от Nikoli. На поле — острова с числами; их нужно соединить горизонтальными и вертикальными мостами так, чтобы у каждого острова было ровно столько мостов, сколько указано, мосты не пересекались, а все острова образовали одну связную группу.
Сколько мостов может соединять два острова?
Не больше двух. Одинарный или двойной мост может соединить два острова в одной строке или столбце, если между ними ничего нет.
Могут ли мосты пересекаться?
Нет. Мосты идут прямо по горизонтали или вертикали и не могут ни пересекать другие мосты, ни проходить над островами.
Все ли острова должны быть соединены?
Да. В решённой головоломке по мостам можно добраться с любого острова на любой другой: острова образуют единую сеть.
Всегда ли решение ровно одно?
В Hashi — да: каждую сгенерированную головоломку проверяет SAT-решатель и доказывает, что второго решения нет, так что угадывать никогда не придётся.