Пересечение ручьев: три?
Это запись для Fortnightly Topic Challenge # 44: Представьте сообществу новый жанр вычитания сетки .
Вот стандартная головоломка Cross the Streams. Жанр придумал Грант Файкс, который сочетает в себе подсказки Nonogram и подстановочные знаки.
Правила пересечения потоков :
- Заштрихуйте некоторые пустые ячейки черным, чтобы создать единую группу черных ячеек, которые все соединены друг с другом своими краями. Область ячеек 2x2 в сетке не содержит всех черных ячеек.
- Числа слева / вверху сетки представляют группы последовательных черных ячеек, которые находятся в этой строке / столбце в порядке слева направо или сверху вниз. (Например, подсказка «3» означает, что строка или столбец имеет три последовательных черных ячейки, а подсказка «3 1» означает, что строка или столбец имеет группу из трех последовательных черных ячеек, за которыми следует одна черная ячейка, разделены по крайней мере одной белой клеткой.)
- Знак вопроса (?) Представляет собой группу последовательных черных ячеек, размер которых неизвестен; звездочка (*) представляет любое количество неизвестных групп черных ячеек, включая ни одной.


Ответы
Полная сетка:
Рассуждение:
В строке 9 мы можем заполнить два блока по два простым подсчетом, так как строка должна быть не менее «3 3 1». В правом верхнем углу, если мы предположим, что R2C9 закрашен, тогда все R2C8-9 и R3C8-9 будут закрашены, что противоречит правилу «нет 2x2». Таким образом, R2C9 не закрашен, поэтому квадраты сверху и справа также должны быть незакрашенными, а затем подсчет вынуждает затенять R2C6-7. Сетка на данный момент:
![]()
Верхняя часть быстрого выбора (добавлена позже):
Первоначально у меня был более длинный аргумент противоречия, чтобы исключить возможность того, что R2C8 не закрашен, но это потому, что я сначала забыл правило подключения, и поэтому не сразу исключил возможность затенения R1C10. С этим правильным выводом простой подсчет показывает, что R6-7C10 необходимо заштриховать для 3-го блока в столбце 10, что заставляет R4-5C9 закрашивать для 3-го блока в столбце 9, что заставляет заштриховать R2-R3C8. для 3-блока в столбце 8. Это достаточно хорошо ведет к остальной части решения, поскольку я сосредоточился на левой стороне следующей, а затем вернулся к правой.
Первоначальное давно развивающееся противоречие:
От противного предположим, что R2C8 не заштрихован. Таким образом мы получаем блок 3 в строке 2 и столбце 8. Ровно один из R3C5 или R3C6 должен быть незатененным; если оба не закрашены, два 3-блоков в этих столбцах должны быть расположены рядом, создавая несколько закрашенных блоков 2x2. Если R3C5 не закрашен, то R4-6C5 и R8-10C5 должны быть 3-мя блоками в C5, что оставляет место только для одного 3-блока в C6. Таким образом, R3C5 должен быть закрашен, а R3C6 - нет. Это принудительно устанавливает расположение 3-х блоков в C6, в результате чего остается только одно местоположение для нижних 3-блоков в C5. Некоторые дополнительные простые вычеты оставляют нас с:
![]()
Сосредоточьтесь на C9 и C10. Блок 3 в C9 должен содержать R6-7C9, что заставляет R3-4C9 не закрашивать. Но тогда R4C10 нельзя закрасить, так как это заставит затенять весь R3-4C4-5. Таким образом, 3-блок в C10 также должен содержать R6-7C10, последнее противоречие.
Движение вперед:
Все это просто показывает, что R2C8 должен быть заштрихован, но это показывает, что R3C8 заштрихован, а R2C5 не заштрихован, что заставляет два 3-х блока под ним, из которых мы можем разместить по 2 блока каждого. Но один из них заставляет R8C6 быть незатененным, что заставляет 3 блока в C6. Эти размещения также форсируют позиции 3-х блоков в R9. Сетка на данный момент:
![]()
В строке 3 3-блок не может начинаться раньше столбца 3 из-за? перед 3, значит, это должно быть C4-6. В строке 4 нам нужны два блока справа от 3-го блока, поэтому 3-блок должен быть в C1-5, заставляя R4C3 закрашиваться. Это заставляет R1C3 не закрашивать, так как начальный 3-блок в C3 должен содержать R4C3. Аналогичная логика в R6 показывает, что оба R6C2-3 закрашены. Вместе они заставляют 3-блок в столбце 3, который затем заставляет R2C4 затеняться. В столбце 4 R5C4 не должен закрашиваться, поскольку он создаст 4-блок, не оставляя места для 3-х и меньшего блока справа. Это действительно заставляет 3-й блок в строке 5 быть C5-7. Также в столбце 7 3-блок должен находиться между строками 7-10, заставляя R8C7 закрашиваться. Сетка на данный момент:
![]()
Завершение левой стороны:
В строке 4 3-блок должен быть в первых 3 столбцах, что заставляет R1C1 не закрашивать. Кроме того, 3-блок во втором столбце должен быть R2-4. Единственное другое место, где это могло быть, - это R8-10, но если все эти блоки заштрихованы, то возможность подключения заставляет также затенять R7C2. Затем это заставляет 3-блок в столбце 1 быть R4-6. Затем это заставляет R6C4 не закрашивать, поскольку 3-блоку в R6 больше некуда идти. Связь заставляет дополнительные квадраты в столбце 2 в R7-8. Убедившись, что мы не получаем закрашенных 2x2, возможность подключения снова вынуждает нас соединить столбец 4 в строке 10 от C3-C5. Наконец, R10C1 должен быть закрашен, чтобы получить четыре отдельные группы в R10. Сетка на данный момент:
![]()
Заканчивать:
3-блок в столбцах 4 и 5 теперь принудительно принудительно используется, как и 3-блок в строке 8. Последний заставляет 3-блок столбца 10 располагаться между R3 и R7, поэтому R5C10 определенно затенен. Таким образом, есть только два места, куда может пойти 3-блок C9: R3-5 или R6-8. Но учтите: R9C9 нельзя растушевать! Если это так, то закрашенные блоки в R10C7-10, которых должно быть не менее 2, должны быть подключены через R10C7 в один блок, но там должно быть как минимум два блока. Таким образом, 3-блок в C9 должен быть R3-R5. Такая же связность и учет двух блоков в правом нижнем углу вынуждают заштриховать R10C7: в противном случае все заштрихованные блоки должны были бы выйти через столбец 9. Связность вынуждает заштриховать R7C9. Остальное выпадает при простой дедукции.