Когда развлекал себя японскими кроссвордами, то пришел примерно к такому ходу решения:
— Для каждого столбца и строки ищем крайние возможные положения групп закрашенных клеток, если группа в обоих положениях пересекается с собой, то закрашиваем это пересечение. Это пересечение также может быть найдено с помощью вычислений.
— При поиске крайних положений также находим области где клетки вообще не закрашиваются — помечаем их как недоступные. Сюда же относятся 1 пустая клетка которая является границей групп в одноцветном кроссворде.
— Повторять пока в кроссворде проявляются изменения
— Для каждого столбца и строки ищем крайние возможные положения групп закрашенных клеток, если группа в обоих положениях пересекается с собой, то закрашиваем это пересечение. Это пересечение также может быть найдено с помощью вычислений.
— При поиске крайних положений также находим области где клетки вообще не закрашиваются — помечаем их как недоступные. Сюда же относятся 1 пустая клетка которая является границей групп в одноцветном кроссворде.
— Повторять пока в кроссворде проявляются изменения